drm/xe/reg_sr: Stop setting all whitelist slots
authorLucas De Marchi <lucas.demarchi@intel.com>
Mon, 9 Dec 2024 23:27:38 +0000 (15:27 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 11 Dec 2024 15:28:09 +0000 (07:28 -0800)
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>
drivers/gpu/drm/xe/xe_reg_sr.c

index 080229e0fc15a43954cd9a9ca69f3077d1dd2b23..0a5c0e62d6e885665901382804ac5140dfc5262a 100644 (file)
@@ -227,13 +227,6 @@ void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe)
                slot++;
        }
 
-       /* And clear the rest just in case of garbage */
-       for (; slot < RING_MAX_NONPRIV_SLOTS; slot++) {
-               u32 addr = RING_NOPID(mmio_base).addr;
-
-               xe_mmio_write32(&gt->mmio, RING_FORCE_TO_NONPRIV(mmio_base, slot), addr);
-       }
-
        xe_force_wake_put(gt_to_fw(gt), fw_ref);
 
        return;