drm/i915/xehp: GAM registers don't need to be re-applied on engine resets
authorMatt Roper <matthew.d.roper@intel.com>
Wed, 25 Jan 2023 23:41:57 +0000 (15:41 -0800)
committerMatt Roper <matthew.d.roper@intel.com>
Thu, 26 Jan 2023 15:45:25 +0000 (07:45 -0800)
commit49cbda6386efc5f023f396dca087aaba5d4f885e
tree0ea1f5fbb2351c18f3cf7384d5e9fe8a8dd4f06c
parent21813d631de33c92ae7754223658fce7bb74622f
drm/i915/xehp: GAM registers don't need to be re-applied on engine resets

Register reset characteristics (i.e., whether the register maintains or
loses its value on engine reset) is an important factor that determines
which wa_list we want to add workarounds to.  We recently found out that
the bspec documentation for the Xe_HP's "GAM" registers in the 0xC800 -
0xCFFF range was misleading; these registers do not actually lose their
value on engine resets as the documentation implied.  This means there's
no need to re-apply workarounds touching these registers after a reset,
and the corresponding workarounds should be moved from the 'engine'
lists back to the 'gt' list.

v2:
 - Don't add Wa_18018781329 to xehpsdv; the original condition didn't
   include that platform.  (Gustavo)
 - Move the MTL code to the GT function as-is for now; we'll take care
   of the additional fixes needed in a follow-up patch.

Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Fixes: edf176f48d87 ("drm/i915/dg2: Move misplaced 'ctx' & 'gt' wa's to engine wa list")
Fixes: b2006061ae28 ("drm/i915/xehpsdv: Move render/compute engine reset domains related workarounds")
Fixes: 41bb543f5598 ("drm/i915/mtl: Add initial gt workarounds")
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230125234159.3015385-1-matthew.d.roper@intel.com
drivers/gpu/drm/i915/gt/intel_workarounds.c