From: Greg Kroah-Hartman Date: Wed, 7 May 2025 14:37:28 +0000 (+0200) Subject: 6.12-stable patches X-Git-Tag: v5.15.182~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f7b725bd2aae4b1c7791cb6d9bd95eaf5acbda5;p=thirdparty%2Fkernel%2Fstable-queue.git 6.12-stable patches added patches: drm-xe-ensure-fixed_slice_mode-gets-set-after-ccs_mode-change.patch --- diff --git a/queue-6.12/drm-xe-ensure-fixed_slice_mode-gets-set-after-ccs_mode-change.patch b/queue-6.12/drm-xe-ensure-fixed_slice_mode-gets-set-after-ccs_mode-change.patch new file mode 100644 index 0000000000..0dbd9a538b --- /dev/null +++ b/queue-6.12/drm-xe-ensure-fixed_slice_mode-gets-set-after-ccs_mode-change.patch @@ -0,0 +1,58 @@ +From 262de94a3a7ef23c326534b3d9483602b7af841e Mon Sep 17 00:00:00 2001 +From: Niranjana Vishwanathapura +Date: Thu, 27 Mar 2025 11:56:04 -0700 +Subject: drm/xe: Ensure fixed_slice_mode gets set after ccs_mode change + +From: Niranjana Vishwanathapura + +commit 262de94a3a7ef23c326534b3d9483602b7af841e upstream. + +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: 0d97ecce16bd ("drm/xe: Enable Fixed CCS mode setting") +Cc: stable@vger.kernel.org +Signed-off-by: Niranjana Vishwanathapura +Reviewed-by: Matt Roper +Signed-off-by: Matthew Brost +Link: https://lore.kernel.org/r/20250327185604.18230-1-niranjana.vishwanathapura@intel.com +(cherry picked from commit 12468e519f98e4d93370712e3607fab61df9dae9) +Signed-off-by: Lucas De Marchi +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/xe/xe_hw_engine.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/gpu/drm/xe/xe_hw_engine.c ++++ b/drivers/gpu/drm/xe/xe_hw_engine.c +@@ -381,12 +381,6 @@ xe_hw_engine_setup_default_lrc_state(str + blit_cctl_val, + XE_RTP_ACTION_FLAG(ENGINE_BASE))) + }, +- /* Use Fixed slice CCS mode */ +- { XE_RTP_NAME("RCU_MODE_FIXED_SLICE_CCS_MODE"), +- XE_RTP_RULES(FUNC(xe_hw_engine_match_fixed_cslice_mode)), +- XE_RTP_ACTIONS(FIELD_SET(RCU_MODE, RCU_MODE_FIXED_SLICE_CCS_MODE, +- RCU_MODE_FIXED_SLICE_CCS_MODE)) +- }, + /* Disable WMTP if HW doesn't support it */ + { XE_RTP_NAME("DISABLE_WMTP_ON_UNSUPPORTED_HW"), + XE_RTP_RULES(FUNC(xe_rtp_cfeg_wmtp_disabled)), +@@ -454,6 +448,12 @@ hw_engine_setup_default_state(struct xe_ + XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0), CS_PRIORITY_MEM_READ, + XE_RTP_ACTION_FLAG(ENGINE_BASE))) + }, ++ /* Use Fixed slice CCS mode */ ++ { XE_RTP_NAME("RCU_MODE_FIXED_SLICE_CCS_MODE"), ++ XE_RTP_RULES(FUNC(xe_hw_engine_match_fixed_cslice_mode)), ++ XE_RTP_ACTIONS(FIELD_SET(RCU_MODE, RCU_MODE_FIXED_SLICE_CCS_MODE, ++ RCU_MODE_FIXED_SLICE_CCS_MODE)) ++ }, + {} + }; + diff --git a/queue-6.12/series b/queue-6.12/series index 5895d5c5e1..4241a8d830 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -149,3 +149,4 @@ sch_drr-make-drr_qlen_notify-idempotent.patch sch_hfsc-make-hfsc_qlen_notify-idempotent.patch sch_qfq-make-qfq_qlen_notify-idempotent.patch sch_ets-make-est_qlen_notify-idempotent.patch +drm-xe-ensure-fixed_slice_mode-gets-set-after-ccs_mode-change.patch