drm/i915/mtl: fix mocs selftest
authorFei Yang <fei.yang@intel.com>
Fri, 21 Apr 2023 18:25:35 +0000 (20:25 +0200)
committerAndi Shyti <andi.shyti@linux.intel.com>
Sun, 23 Apr 2023 00:11:23 +0000 (02:11 +0200)
Media GT has a different base for MOCS register, need to apply
gsi_offset to the mmio address if not using the intel_uncore_r/w
functions for register access.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Fei Yang <fei.yang@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230421182535.292670-3-andi.shyti@linux.intel.com
drivers/gpu/drm/i915/gt/selftest_mocs.c

index ca009a6a13bdbb7f1b99d88c30b0095e9b163de8..a8446ab825012f385cdeee0c1b16e6a6a8b2b405 100644 (file)
@@ -131,13 +131,14 @@ static int read_mocs_table(struct i915_request *rq,
                           const struct drm_i915_mocs_table *table,
                           u32 *offset)
 {
+       struct intel_gt *gt = rq->engine->gt;
        u32 addr;
 
        if (!table)
                return 0;
 
        if (HAS_GLOBAL_MOCS_REGISTERS(rq->engine->i915))
-               addr = global_mocs_offset();
+               addr = global_mocs_offset() + gt->uncore->gsi_offset;
        else
                addr = mocs_offset(rq->engine);