drm/xe: Mark ComputeCS read mode as UC on iGPU
authorMatthew Brost <matthew.brost@intel.com>
Tue, 14 Jan 2025 00:25:07 +0000 (16:25 -0800)
committerMatthew Brost <matthew.brost@intel.com>
Thu, 16 Jan 2025 16:26:20 +0000 (08:26 -0800)
RING_CMD_CCTL read index should be UC on iGPU parts due to L3 caching
structure. Having this as WB blocks ULLS from being enabled. Change to
UC to unblock ULLS on iGPU.

v2:
 - Drop internal communications commnet, bspec is updated

Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Cc: Michal Mrozek <michal.mrozek@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: stable@vger.kernel.org
Fixes: 328e089bfb37 ("drm/xe: Leverage ComputeCS read L3 caching")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Michal Mrozek <michal.mrozek@intel.com>
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250114002507.114087-1-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_hw_engine.c

index ac9c666a9652a4f0362637d8e3adf3c160960a0f..fc447751fe786c0035d888047a856780a572e526 100644 (file)
@@ -422,7 +422,7 @@ hw_engine_setup_default_state(struct xe_hw_engine *hwe)
         * Bspec: 72161
         */
        const u8 mocs_write_idx = gt->mocs.uc_index;
-       const u8 mocs_read_idx = hwe->class == XE_ENGINE_CLASS_COMPUTE &&
+       const u8 mocs_read_idx = hwe->class == XE_ENGINE_CLASS_COMPUTE && IS_DGFX(xe) &&
                                 (GRAPHICS_VER(xe) >= 20 || xe->info.platform == XE_PVC) ?
                                 gt->mocs.wb_index : gt->mocs.uc_index;
        u32 ring_cmd_cctl_val = REG_FIELD_PREP(CMD_CCTL_WRITE_OVERRIDE_MASK, mocs_write_idx) |