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 (11): 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: Move workarounds from init_clock_gating drm/i915: Rename saved workarounds to make it explicit that they are context WAs drm/i915: Save all MMIO WAs and apply them at a later time drm/i915: Save all Whitelist WAs and apply them at a later time drm/i915: Print all workaround types correctly in debugfs drm/i915: Move WA BB stuff to the workarounds file as well drm/i915: Document the i915_workarounds file drm/i915: Remove Gen9 WAs with no effect drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 52 +- drivers/gpu/drm/i915/i915_drv.c | 5 + drivers/gpu/drm/i915/i915_drv.h | 20 +- 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/i915_workarounds.c | 1307 +++++++++++++++++++++++++++++++ drivers/gpu/drm/i915/i915_workarounds.h | 40 + drivers/gpu/drm/i915/intel_engine_cs.c | 679 ---------------- drivers/gpu/drm/i915/intel_lrc.c | 266 +------ drivers/gpu/drm/i915/intel_pm.c | 188 +---- drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 3 - 14 files changed, 1429 insertions(+), 1149 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_workarounds.c create mode 100644 drivers/gpu/drm/i915/i915_workarounds.h -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx