[Intel-gfx] [PATCH v4] drm/i915: Workaround to avoid lite restore with HEAD==TAIL
Jani Nikula
jani.nikula at linux.intel.com
Thu Apr 23 14:20:12 PDT 2015
On Wed, 15 Apr 2015, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Wed, Apr 15, 2015 at 06:11:33PM +0100, Michel Thierry wrote:
>> WaIdleLiteRestore is an execlists-only workaround, and requires the driver
>> to ensure that any context always has HEAD!=TAIL when attempting lite
>> restore.
>>
>> Add two extra MI_NOOP instructions at the end of each request, but keep
>> the requests tail pointing before the MI_NOOPs. We may not need to
>> executed them, and this is why request->tail is sampled before adding
>> these extra instructions.
>>
>> If we submit a context to the ELSP which has previously been submitted,
>> move the tail pointer past the MI_NOOPs. This ensures HEAD!=TAIL.
>>
>> v2: Move overallocation to gen8_emit_request, and added note about
>> sampling request->tail in commit message (Chris).
>>
>> v3: Remove redundant request->tail assignment in __i915_add_request, in
>> lrc mode this is already set in execlists_context_queue.
>> Do not add wa implementation details inside gem (Chris).
>>
>> v4: Apply the wa whenever the req has been resubmitted and update
>> comment (Chris).
>>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Signed-off-by: Thomas Daniel <thomas.daniel at intel.com>
>> Signed-off-by: Michel Thierry <michel.thierry at intel.com>
>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Pushed to drm-intel-next-fixes, thanks for the patch and review.
BR,
Jani.
> -Chris
>
> --
> Chris Wilson, Intel Open Source Technology Centre
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list