OSDN Git Service

intel: devinfo: fix assertion on devices with odd number of EUs
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Mon, 23 Apr 2018 16:52:37 +0000 (17:52 +0100)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 8 May 2018 14:15:54 +0000 (15:15 +0100)
I forgot to change the assert in the second helper function in a
previous change.

This hit the assert() on a Broadwell platform with 1 slice, 3
subslices but all EUs disabled in subslice 1 & 2.

Fixes: c1900f5b0fb ("intel: devinfo: add helper functions to fill fusing masks values")
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/dev/gen_device_info.c

index dfeab6e..aa72d96 100644 (file)
@@ -1044,11 +1044,7 @@ gen_device_info_update_from_topology(struct gen_device_info *devinfo,
    for (int b = 0; b < eu_mask_len; b++)
       n_eus += __builtin_popcount(devinfo->eu_masks[b]);
 
-   /* We expect the total number of EUs to be uniformly distributed throughout
-    * the subslices.
-    */
-   assert(n_subslices && (n_eus % n_subslices) == 0);
-   devinfo->num_eu_per_subslice = n_eus / n_subslices;
+   devinfo->num_eu_per_subslice = DIV_ROUND_UP(n_eus, n_subslices);
 }
 
 bool