intel/dev/xe: Set max_eus_per_subslice using topology query

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31850>
This commit is contained in:
José Roberto de Souza 2024-10-25 09:02:09 -07:00 committed by Marge Bot
parent 2cef9cd913
commit 6c84cbd8c9

View file

@ -200,7 +200,7 @@ xe_compute_topology(struct intel_device_info * devinfo,
devinfo->max_slices = 1; devinfo->max_slices = 1;
devinfo->max_subslices_per_slice = 6; devinfo->max_subslices_per_slice = 6;
} }
devinfo->max_eus_per_subslice = 16; devinfo->max_eus_per_subslice = __builtin_popcount(*eu_per_dss_mask);
devinfo->subslice_slice_stride = DIV_ROUND_UP(devinfo->max_slices, 8); devinfo->subslice_slice_stride = DIV_ROUND_UP(devinfo->max_slices, 8);
devinfo->eu_slice_stride = DIV_ROUND_UP(devinfo->max_eus_per_subslice * devinfo->max_subslices_per_slice, 8); devinfo->eu_slice_stride = DIV_ROUND_UP(devinfo->max_eus_per_subslice * devinfo->max_subslices_per_slice, 8);
devinfo->eu_subslice_stride = DIV_ROUND_UP(devinfo->max_eus_per_subslice, 8); devinfo->eu_subslice_stride = DIV_ROUND_UP(devinfo->max_eus_per_subslice, 8);