OSDN Git Service

drm/i915/dg2: Move misplaced 'ctx' & 'gt' wa's to engine wa list
authorSrinivasan Shanmugam <srinivasan.s@intel.com>
Tue, 15 Feb 2022 23:55:31 +0000 (15:55 -0800)
committerMatt Roper <matthew.d.roper@intel.com>
Thu, 17 Feb 2022 21:39:10 +0000 (13:39 -0800)
commitedf176f48d87fa25ca93f09362707cf5314bf7ee
treecdabbc23855b59f0b5869df32823bda26b437237
parentf2ed8ef31366467930c98494535a044e33a1b3d4
drm/i915/dg2: Move misplaced 'ctx' & 'gt' wa's to engine wa list

Registers that belong to the shared render/compute reset domain need to
be placed on an engine workaround list to ensure that they are properly
re-applied whenever any RCS or CCS engine is reset, even if the
registers do not belong to a specific engine's MMIO range.  We have a
number of workarounds today that are incorrectly implemented on the 'gt'
workaround list and need to be moved accordingly.  We also have one
workaround (Wa_22012532006) that is incorrectly implemented on the
context workaround list, even though the register it is adjusting is not
part of the RCS engine's context image; it must also be moved.

We'll have some workaround refactoring coming in the near future that
deals with registers in the reset domain in a more clear way.  But in
the meantime, we should just move these workarounds to
rcs_engine_wa_init() to place them on the RCS engine's workaround list.
All production DG2 platforms will have an RCS engine (it's never fused
off) so these registers will be properly restored after a domain reset
triggered via an RCS engine _or_ a CCS engine.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.s@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220215235531.2236399-1-matthew.d.roper@intel.com
drivers/gpu/drm/i915/gt/intel_workarounds.c