Re: [RFC PATCH v6 0/6] Refactor HW workaround code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux