Merge tag 'drm-intel-next-2023-11-23' of git://anongit.freedesktop.org/drm/drm-intel...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / i915_gpu_error.c
index 6ff410dc1a4a8c4610f2c46b84eb8d15cbb43d10..0971f497632415dcff2d85746ad9536877c6f009 100644 (file)
@@ -1236,7 +1236,16 @@ static void engine_record_registers(struct intel_engine_coredump *ee)
        if (GRAPHICS_VER(i915) >= 6) {
                ee->rc_psmi = ENGINE_READ(engine, RING_PSMI_CTL);
 
-               if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
+               /*
+                * For the media GT, this ring fault register is not replicated,
+                * so don't do multicast/replicated register read/write
+                * operation on it.
+                */
+               if (MEDIA_VER(i915) >= 13 && engine->gt->type == GT_MEDIA)
+                       ee->fault_reg = intel_uncore_read(engine->uncore,
+                                                         XELPMP_RING_FAULT_REG);
+
+               else if (GRAPHICS_VER_FULL(i915) >= IP_VER(12, 50))
                        ee->fault_reg = intel_gt_mcr_read_any(engine->gt,
                                                              XEHP_RING_FAULT_REG);
                else if (GRAPHICS_VER(i915) >= 12)