Re: [RFC PATCH 00/11] Refactor HW workaround code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux