Commit 79f2432e authored by Matt Roper's avatar Matt Roper Committed by Rodrigo Vivi

drm/xe/sr: Apply masked registers properly

The 'clear' field for register save/restore entries was being placed in
the value bits of the register rather than the mask bits; make sure it
gets shifted into the mask bits.

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Reviewed-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20230419224909.4000920-1-matthew.d.roper@intel.comSigned-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent fa4fe0db
...@@ -148,7 +148,7 @@ static void apply_one_mmio(struct xe_gt *gt, u32 reg, ...@@ -148,7 +148,7 @@ static void apply_one_mmio(struct xe_gt *gt, u32 reg,
* supposed to set all bits. * supposed to set all bits.
*/ */
if (entry->masked_reg) if (entry->masked_reg)
val = (entry->clr_bits ?: entry->set_bits << 16); val = (entry->clr_bits ?: entry->set_bits) << 16;
else if (entry->clr_bits + 1) else if (entry->clr_bits + 1)
val = (entry->reg_type == XE_RTP_REG_MCR ? val = (entry->reg_type == XE_RTP_REG_MCR ?
xe_gt_mcr_unicast_read_any(gt, MCR_REG(reg)) : xe_gt_mcr_unicast_read_any(gt, MCR_REG(reg)) :
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment