Skip to content

Commit 89865e6

Browse files
mattroperodrigovivi
authored andcommitted
drm/xe/xe2_hpg: Correct implementation of Wa_16025250150
Wa_16025250150 asks us to set five register fields of the register to 0x1 each. However we were just OR'ing this into the existing register value (which has a default of 0x4 for each nibble-sized field) resulting in final field values of 0x5 instead of the desired 0x1. Correct the RTP programming (use FIELD_SET instead of SET) to ensure each field is assigned to exactly the value we want. Cc: Aradhya Bhatia <aradhya.bhatia@intel.com> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com> Cc: stable@vger.kernel.org # v6.16+ Fixes: 7654d51 ("drm/xe/xe2hpg: Add Wa_16025250150") Reviewed-by: Ngai-Mint Kwan <ngai-mint.kwan@linux.intel.com> Link: https://patch.msgid.link/20260227164341.3600098-2-matthew.d.roper@intel.com Signed-off-by: Matt Roper <matthew.d.roper@intel.com> (cherry picked from commit d139209) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
1 parent b3368ec commit 89865e6

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

drivers/gpu/drm/xe/xe_wa.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,13 @@ static const struct xe_rtp_entry_sr gt_was[] = {
241241

242242
{ XE_RTP_NAME("16025250150"),
243243
XE_RTP_RULES(GRAPHICS_VERSION(2001)),
244-
XE_RTP_ACTIONS(SET(LSN_VC_REG2,
245-
LSN_LNI_WGT(1) |
246-
LSN_LNE_WGT(1) |
247-
LSN_DIM_X_WGT(1) |
248-
LSN_DIM_Y_WGT(1) |
249-
LSN_DIM_Z_WGT(1)))
244+
XE_RTP_ACTIONS(FIELD_SET(LSN_VC_REG2,
245+
LSN_LNI_WGT_MASK | LSN_LNE_WGT_MASK |
246+
LSN_DIM_X_WGT_MASK | LSN_DIM_Y_WGT_MASK |
247+
LSN_DIM_Z_WGT_MASK,
248+
LSN_LNI_WGT(1) | LSN_LNE_WGT(1) |
249+
LSN_DIM_X_WGT(1) | LSN_DIM_Y_WGT(1) |
250+
LSN_DIM_Z_WGT(1)))
250251
},
251252

252253
/* Xe2_HPM */

0 commit comments

Comments
 (0)