[Intel-gfx] [PATCH 0/2] Gen8: Per-context workarounds using W/A batch buffers

Arun Siluvery arun.siluvery at linux.intel.com
Wed Feb 25 09:54:40 PST 2015


Starting from Gen8 we have some workarounds that are applied Per context and
they are applied using special batch buffers called as WA batch buffers.
HW executes them at specific stages during context save/restore.

First patch adds a function to create a ringbuffer in which instructions for
WA batch are queued in.

Second patch initializes the batch with the instructions for each applied WA
and the batch buffer address is provided in context offset pointers when it
is initialized.

These workarounds are required to fix issues mainly with Preemption workloads,
but I have not seen any issues yet which are fixed by these workarounds.
As per my understanding it is also not possible to verify whether they are
applied correctly or not as HW executes them completely internally and
does not return any success/failure status once they are executed.

These patches are integrated in Android tree and did not cause any regressions.
Please review and give your comments; If you have any ideas to validate them
or to create any tests to trigger the failure scenario, please let me know.

Arun Siluvery (1):
  drm/i915/gen8: Apply Per-context workarounds using W/A batch buffers

Namrta (1):
  drm/i915/gen8: The WA BB framework is enabled.

 drivers/gpu/drm/i915/i915_drv.h         |   3 +
 drivers/gpu/drm/i915/i915_reg.h         |  30 +++-
 drivers/gpu/drm/i915/intel_lrc.c        | 270 +++++++++++++++++++++++++++++++-
 drivers/gpu/drm/i915/intel_ringbuffer.h |   3 +
 4 files changed, 297 insertions(+), 9 deletions(-)

-- 
2.3.0



More information about the Intel-gfx mailing list