[Intel-gfx] [PATCH] drm/i915: paper over missed irq issues with force wake vodoo

Daniel Vetter daniel at ffwll.ch
Wed Jan 11 10:59:20 CET 2012

On Tue, Jan 10, 2012 at 08:44:20PM -0800, Keith Packard wrote:
> On Tue, 10 Jan 2012 16:51:08 -0800, Eric Anholt <eric at anholt.net> wrote:
> > So they've gone out of their way to build broken stuff.  Awesome.
> Well, in theory, the interrupt would be generated *before* the hardware
> goes to RC6; when idle, I'm not exactly sure what the hardware would be
> doing to generate interrupts.

I agree, we still have no explanation for why the hw seems to forget to
push out the irq/seqno write before going into sleep (and then seems to
drop the irq right on the floor).

I suspect that the windows driver just grabs frocewake every time it's
interested in an interrupt and hence this irq/seqno signalling part
without forcewake wasn't ever properly validated. After all there must be
a reason for the multi-threaded forcewake stuff on windows - on Linux
(before the voodoo patch at least) we don't use forcewake at all in any
fastpath ...

Unfortunately round-trip times with vpg are a disaster and we're not
allowed to look at the windows kernel driver code to check ourselves :(
I need to again work on getting some access to it.

> > I'd say you've found the clue here -- I'm a lot happier with going with
> > your patches now (and I was pretty happy with the gen7 side before).
> > I'd just like to not mess with gen6 unless we've got missed irq bugs
> > there to fix.
> Yeah, knowing that there might be interrupt funnies due to RC6 goes some
> way to explaining why just avoiding RC6 helps.
> I wonder if any of this might explain the RC6 issues we see on SNB on
> some hardware, and whether we should give this a try... I know, grasping
> at straws, but still, it's about all we have at this point.

I'm already playing around with patches that grab forcewake a bit more to
work out a magic trick for semaphores vs. vt-d. Utter fail atm, everything
I try seems to blow up faster :( So we still have an elephant somewhere.

Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48

More information about the Intel-gfx mailing list