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

Eric Anholt eric at anholt.net
Wed Jan 11 01:51:08 CET 2012


On Tue, 10 Jan 2012 13:20:06 +0100, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Wed, Jan 04, 2012 at 07:40:45PM +0100, Daniel Vetter wrote:
> > Two things seem to do the trick on my ivb machine here:
> > - prevent the gt from powering down while waiting for seqno
> >   notification interrupts by grabbing the force_wake in get_irq (and
> >   dropping it in put_irq again).
> > - ordering writes from the ring's CS by reading a CS register, ACTHD
> >   seems to work.
> > 
> > Only the blt&bsd ring on ivb seem to be massively affected by this,
> > but for paranoia do this dance also on the render ring and on snb
> > (i.e. all gpus with forcewake).
> > 
> > Tested with Eric's glCopyPixels loop which without this patch scores a
> > missed irq every few seconds.
> > 
> > This patch needs my forcewake rework to use a spinlock instead of
> > dev->struct_mutex.
> > 
> > v2: Improve the comment per Eugeni Dodonov's suggestion.
> > 
> > Cc: stable at kernel.org
> > Cc: Eric Anholt <eric at anholt.net>
> > Cc: Kenneth Graunke <kenneth at whitecape.org>
> > Cc: Eugeni Dodonov <eugeni.dodonov at intel.com>
> > Tested-by: Eugeni Dodonov <eugeni.dodonov at intel.com>
> > Reviewed-by: Eugeni Dodonov <eugeni.dodonov at intel.com>
> > Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> 
> From the internal doc "SNB GT PM Programming Guide", Section 4.3.1:
> 
> "GT does not generate interrupts while in RC6 (by design)"

So they've gone out of their way to build broken stuff.  Awesome.

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120110/1929ddcf/attachment.sig>


More information about the Intel-gfx mailing list