[Intel-gfx] [PATCH v3 00/22] Refactor HW workaround code
Oscar Mateo
oscar.mateo at intel.com
Fri Oct 13 20:53:54 UTC 2017
Main difference with v2 is the split into GT and Display workarounds (suggested
by Ville). Because that makes review even more important (which WA goes where?)
I have split the movement of WAs from init_clock_gating into separate patches
(one per GEN).
Currently, deciding how/where to apply new workarounds is challenging. Often,
workarounds end up applied incorrectly and get lost under certain circumstances
(e.g. a context switch or a GPU reset). This is a proposal to attempt to
eliminate some of this pain, by clarifying the current classification of
workarounds (context saved/restored, global registers, whitelisting, BB),
putting them together on the same file, and improving the existing validation
infrastructure (debugfs/i-g-t).
Oscar Mateo (22):
drm/i915: Use a mask when applying WaProgramL3SqcReg1Default
drm/i915: No need for RING_MAX_NONPRIV_SLOTS space
drm/i915: Move a bunch of workaround-related code to its own file
drm/i915: Split out functions for different kinds of workarounds
drm/i915: Rename saved workarounds to make it explicit that they are
context WAs
drm/i915: Save all GT WAs and apply them at a later time
drm/i915: Save all Whitelist WAs and apply them at a later time
drm/i915: Create a new category of display WAs
drm/i915: Print all workaround types correctly in debugfs
drm/i915: Move WA BB stuff to the workarounds file as well
drm/i915/cnl: Move GT and Display workarounds from init_clock_gating
drm/i915/gen9: Move GT and Display workarounds from init_clock_gating
drm/i915/gen9: Remove Gen9 WAs with no effect
drm/i915/cfl: Move GT and Display workarounds from init_clock_gating
drm/i915/glk: Move GT and Display workarounds from init_clock_gating
drm/i915/kbl: Move GT and Display workarounds from init_clock_gating
drm/i915/bxt: Move GT and Display workarounds from init_clock_gating
drm/i915/skl: Move GT and Display workarounds from init_clock_gating
drm/i915/chv: Move GT and Display workarounds from init_clock_gating
drm/i915/bdw: Move GT and Display workarounds from init_clock_gating
drm/i915: Move WaProgramL3SqcReg1Default to the workarounds file
drm/i915: Document the i915_workarounds file
drivers/gpu/drm/i915/Makefile | 3 +-
drivers/gpu/drm/i915/i915_debugfs.c | 57 +-
drivers/gpu/drm/i915/i915_drv.c | 5 +
drivers/gpu/drm/i915/i915_drv.h | 23 +-
drivers/gpu/drm/i915/i915_gem.c | 3 +
drivers/gpu/drm/i915/i915_gem_context.c | 5 +
drivers/gpu/drm/i915/i915_reg.h | 4 +-
drivers/gpu/drm/i915/intel_engine_cs.c | 679 -------------
drivers/gpu/drm/i915/intel_lrc.c | 266 +----
drivers/gpu/drm/i915/intel_pm.c | 309 +-----
drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +-
drivers/gpu/drm/i915/intel_ringbuffer.h | 3 -
drivers/gpu/drm/i915/intel_workarounds.c | 1603 ++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_workarounds.h | 41 +
14 files changed, 1737 insertions(+), 1269 deletions(-)
create mode 100644 drivers/gpu/drm/i915/intel_workarounds.c
create mode 100644 drivers/gpu/drm/i915/intel_workarounds.h
--
1.9.1
More information about the Intel-gfx
mailing list