[Intel-gfx] [RFC PATCH v6 0/6] Refactor HW workaround code
Oscar Mateo
oscar.mateo at intel.com
Sat Nov 11 00:25:30 UTC 2017
On 11/09/2017 05:43 AM, Ville Syrjälä wrote:
> On Wed, Nov 08, 2017 at 03:59:43PM -0800, Oscar Mateo wrote:
>> Until we agree on a design, I have removed all new code to save the actual list
>> of WAs and dump it in debugfs. For the moment, only shuffle things arounds until
>> most WAs are in the same file (and classified correctly according to the type
>> of WA).
>>
>> From previous versions of these series:
>>
>> 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 (6):
>> drm/i915: Remove Gen9 WAs with no effect
>> 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 WA BB stuff to the workarounds file as well
>> drm/i915: Create a new category of display WAs
>> drm/i915: Classify GT & Display WAs correctly
>>
>> drivers/gpu/drm/i915/Makefile | 3 +-
>> drivers/gpu/drm/i915/i915_gem.c | 3 +
>> drivers/gpu/drm/i915/i915_gem_context.c | 5 +
>> drivers/gpu/drm/i915/i915_reg.h | 3 -
>> drivers/gpu/drm/i915/intel_engine_cs.c | 682 --------------
>> drivers/gpu/drm/i915/intel_lrc.c | 264 +-----
>> drivers/gpu/drm/i915/intel_pm.c | 312 +------
>> drivers/gpu/drm/i915/intel_ringbuffer.c | 5 +-
>> drivers/gpu/drm/i915/intel_ringbuffer.h | 3 -
>> drivers/gpu/drm/i915/intel_workarounds.c | 1432 ++++++++++++++++++++++++++++++
>> drivers/gpu/drm/i915/intel_workarounds.h | 40 +
> Maybe we should call that intel_gt_workarounds.c? Or
> i915_something_workarounds.c? We could then add a separate
> intel_display_workarounds.c for the display stuff.
Maybe after we agree on a design for improving the way the WAs are
initialized and applied we can move them to separate files? (e.g. the
static WA table each go into a intel_xxx_workarounds.c while the common
functions for applying them remain in intel_workarounds.c)
>> 11 files changed, 1503 insertions(+), 1249 deletions(-)
>> create mode 100644 drivers/gpu/drm/i915/intel_workarounds.c
>> create mode 100644 drivers/gpu/drm/i915/intel_workarounds.h
>>
>> --
>> 1.9.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list