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