Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/xe/reg_sr: Stop setting all whitelist slots

Currently xe_reg_sr_apply_whitelist() sets the unused values to a known
used value for no good reason: it could just leave it with the HW
default. The behavior is slightly different if there are no whitelist
registers for the engine as the function returns early. This is not
needed, so just drop the addition writes for the unused slots.

Later this will allow to reduce the amount of registers passed to GuC
for save/restore.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241209232739.147417-5-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

-7
-7
drivers/gpu/drm/xe/xe_reg_sr.c
··· 227 227 slot++; 228 228 } 229 229 230 - /* And clear the rest just in case of garbage */ 231 - for (; slot < RING_MAX_NONPRIV_SLOTS; slot++) { 232 - u32 addr = RING_NOPID(mmio_base).addr; 233 - 234 - xe_mmio_write32(&gt->mmio, RING_FORCE_TO_NONPRIV(mmio_base, slot), addr); 235 - } 236 - 237 230 xe_force_wake_put(gt_to_fw(gt), fw_ref); 238 231 239 232 return;