Skip to content

Commit 262de94

Browse files
nvishwa1lucasdemarchi
authored andcommitted
drm/xe: Ensure fixed_slice_mode gets set after ccs_mode change
The RCU_MODE_FIXED_SLICE_CCS_MODE setting is not getting invoked in the gt reset path after the ccs_mode setting by the user. Add it to engine register update list (in hw_engine_setup_default_state()) which ensures it gets set in the gt reset and engine reset paths. v2: Add register update to engine list to ensure it gets updated after engine reset also. Fixes: 0d97ecc ("drm/xe: Enable Fixed CCS mode setting") Cc: stable@vger.kernel.org Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> Link: https://lore.kernel.org/r/20250327185604.18230-1-niranjana.vishwanathapura@intel.com (cherry picked from commit 12468e5) Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
1 parent 7bcfedd commit 262de94

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

drivers/gpu/drm/xe/xe_hw_engine.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -389,12 +389,6 @@ xe_hw_engine_setup_default_lrc_state(struct xe_hw_engine *hwe)
389389
blit_cctl_val,
390390
XE_RTP_ACTION_FLAG(ENGINE_BASE)))
391391
},
392-
/* Use Fixed slice CCS mode */
393-
{ XE_RTP_NAME("RCU_MODE_FIXED_SLICE_CCS_MODE"),
394-
XE_RTP_RULES(FUNC(xe_hw_engine_match_fixed_cslice_mode)),
395-
XE_RTP_ACTIONS(FIELD_SET(RCU_MODE, RCU_MODE_FIXED_SLICE_CCS_MODE,
396-
RCU_MODE_FIXED_SLICE_CCS_MODE))
397-
},
398392
/* Disable WMTP if HW doesn't support it */
399393
{ XE_RTP_NAME("DISABLE_WMTP_ON_UNSUPPORTED_HW"),
400394
XE_RTP_RULES(FUNC(xe_rtp_cfeg_wmtp_disabled)),
@@ -461,6 +455,12 @@ hw_engine_setup_default_state(struct xe_hw_engine *hwe)
461455
XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0), CS_PRIORITY_MEM_READ,
462456
XE_RTP_ACTION_FLAG(ENGINE_BASE)))
463457
},
458+
/* Use Fixed slice CCS mode */
459+
{ XE_RTP_NAME("RCU_MODE_FIXED_SLICE_CCS_MODE"),
460+
XE_RTP_RULES(FUNC(xe_hw_engine_match_fixed_cslice_mode)),
461+
XE_RTP_ACTIONS(FIELD_SET(RCU_MODE, RCU_MODE_FIXED_SLICE_CCS_MODE,
462+
RCU_MODE_FIXED_SLICE_CCS_MODE))
463+
},
464464
};
465465

466466
xe_rtp_process_to_sr(&ctx, engine_entries, ARRAY_SIZE(engine_entries), &hwe->reg_sr);

0 commit comments

Comments
 (0)