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

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

 





On 10/10/2017 01:10 PM, Chris Wilson wrote:
Quoting Oscar Mateo (2017-10-10 19:24:18)
* Above method can be used to create a complete logical context with
engine context populated by the hardware. This Logical context can be
used as an Golden Context Image or template for subsequently created
contexts.
It's the template part we want (sending down a pair of contexts to be
executed in sequence is problematic).

Ahh, I see.

Notice that what the BSpec suggests is to send the null state BB only once (for the kernel default context image) and then copy (memcpy or DMA) that context image over all new contexts that get created. That takes care of the problem with nonpriv registers, because absolutely everything inside the context image get blasted with a clean copy everytime.

The current fire are the nonpriv registers that are leaking across the
proto-context, i.e. mesa does LRI that get inherited into a libva
context. Adding those to the context image requires approx a hundred
LRI, so a not impossible task to proofread (esp. as many are just
setting register groups, e.g. the 32 CS_GPR registers, to 0).

But it is still a task that we need to maintain that list of nonpriv
registers.

or, alternatively, follow the BSpec's "template" approach, with or without null state BB

(State outside of the nonpriv that doesn't have a defined
default, cannot be either modified by userspace or assume to have any
particular value.)
-Chris
_______________________________________________
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