The field arch_has_empty_bitmaps is not required anymore. The field
min_cbm_bits is enough to validate the CBM (capacity bit mask) if the
architecture can support the zero CBM or not.
Suggested-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Babu Moger <babu.moger@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: Fenghua Yu <fenghua.yu@intel.com>
Link: https://lore.kernel.org/r/166430979654.372014.615622285687642644.stgit@bmoger-ubuntu
                if (r->rid == RDT_RESOURCE_L3 ||
                    r->rid == RDT_RESOURCE_L2) {
                        r->cache.arch_has_sparse_bitmaps = false;
-                       r->cache.arch_has_empty_bitmaps = false;
                        r->cache.arch_has_per_cpu_cfg = false;
                        r->cache.min_cbm_bits = 1;
                } else if (r->rid == RDT_RESOURCE_MBA) {
                if (r->rid == RDT_RESOURCE_L3 ||
                    r->rid == RDT_RESOURCE_L2) {
                        r->cache.arch_has_sparse_bitmaps = true;
-                       r->cache.arch_has_empty_bitmaps = true;
                        r->cache.arch_has_per_cpu_cfg = true;
                        r->cache.min_cbm_bits = 0;
                } else if (r->rid == RDT_RESOURCE_MBA) {
 
                return false;
        }
 
-       if ((!r->cache.arch_has_empty_bitmaps && val == 0) ||
-           val > r->default_ctrl) {
+       if ((r->cache.min_cbm_bits > 0 && val == 0) || val > r->default_ctrl) {
                rdt_last_cmd_puts("Mask out of range\n");
                return false;
        }
 
 /**
  * struct resctrl_cache - Cache allocation related data
  * @cbm_len:           Length of the cache bit mask
- * @min_cbm_bits:      Minimum number of consecutive bits to be set
+ * @min_cbm_bits:      Minimum number of consecutive bits to be set.
+ *                     The value 0 means the architecture can support
+ *                     zero CBM.
  * @shareable_bits:    Bitmask of shareable resource with other
  *                     executing entities
  * @arch_has_sparse_bitmaps:   True if a bitmap like f00f is valid.
- * @arch_has_empty_bitmaps:    True if the '0' bitmap is valid.
  * @arch_has_per_cpu_cfg:      True if QOS_CFG register for this cache
  *                             level has CPU scope.
  */
        unsigned int    min_cbm_bits;
        unsigned int    shareable_bits;
        bool            arch_has_sparse_bitmaps;
-       bool            arch_has_empty_bitmaps;
        bool            arch_has_per_cpu_cfg;
 };