[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