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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx