[Intel-gfx] [RFC PATCH 00/11] Refactor HW workaround code

Oscar Mateo oscar.mateo at intel.com
Tue Oct 10 17:37:25 UTC 2017



On 10/09/2017 02:08 PM, Chris Wilson wrote:
> Quoting Oscar Mateo (2017-10-09 21:58:15)
>> 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).
> One thing I've been dreaming of is if we can have an external file for
> importing the w/a (reg offset + corrected value) that we could source
> directly from spec. (Hoping for some xml translation to C or DT.)

Hmmm... I'm afraid this is impossible at the moment, since many WAs in 
the BSpec are simply a link to the ticket where the workaround was 
devised (and there you have to parse the conversation to figure out what 
the WA should do).

> We need something like this so that we can set all the nonpriv registers
> to the default value in the proto-context. Or at least lots of patience
> and careful proofreading.
> -Chris

You mean applying the workarounds directly to the context image instead 
of the LRI commands we use now? That can be done (as you said, with *a 
lot* of patience and careful proofreading) but we would need to force 
the proto-context to be restored first (with 
CTX_CTRL_ENGINE_CTX_RESTORE_INHIBIT bit set), because the workarounds do 
not always give us the full default value for a register, only the 
fields that are wrong in the hardware.

-- Oscar



More information about the Intel-gfx mailing list