]> www.infradead.org Git - users/hch/misc.git/commitdiff
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)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 16 Jan 2025 19:03:11 +0000 (20:03 +0100)
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
(cherry picked from commit 758debf35b9cda5450e40996991a6e4b222899bd)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_hw_engine.c

index 1557acee3523f8e062467d6f6ed290aca671fbd5..eeeb98f66982bb972a69e3cff662922597cb96a6 100644 (file)
@@ -419,7 +419,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) |