On Wed, 4 Jan 2012 17:52:10 +0100, Daniel Vetter <daniel.vetter at ffwll.ch> 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. I've pushed these to the forcewake-spinlock branch in both my fdo and kernel repositories. Please give that a try on IVB and SNB to make sure things are working right. I'd like to get these into master as well as being sent off to stable@ for 3.2.x -- keith.packard at intel.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 827 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120106/fc90e956/attachment.pgp>