[Intel-gfx] forcewake v5

Ben Widawsky ben at bwidawsk.net
Thu Apr 21 01:53:14 CEST 2011


Once you're done laughing that I got up to v5 (I think I skipped a v3,
and v1 was the IOCTls, so it's really more like a v3) for patches meant
to simply allow register reads and wites...

Back to struct_mutex since it turned out to be my mistake regarding the
IIR problem. The only issue in the interrupt handler was rps, which has
been moved to a workqueue.

Struct_mutex must be held to forcewake, or relinquish forcwake.

There is still at least one known problem with the hangcheck code where
it reads registers that aren't safe for gen6, and acquiring
struct_mutex. Moving that code to a workqueue became quite involved, and
since it's mostly an error condition, I am not including it in this
series. Hopefully no other code is trying to read or write registers
while the GPU is potentially hanging.

The reference count is now atomic so that the system may possibly almost
work (at least as well as it works now), if callers don't have
struct_mutex.

This series is potentially more dangerous than the previous because of
the way the PM interrupts are handled for rps.

Ben



More information about the Intel-gfx mailing list