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.pgp>