On Wed, Jan 04, 2012 at 05:52:10PM +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.
> 
> Cc: sta...@kernel.org
> Cc: Eric Anholt <e...@anholt.net>
> Cc: Kenneth Graunke <kenn...@whitecape.org>
> Cc: Eugeni Dodonov <eugeni.dodo...@intel.com>
> Signed-Off-by: Daniel Vetter <daniel.vet...@ffwll.ch>
Reviewed-and-Tested-by: Ben Widawsky <b...@bwidawsk.net>


Please please please make it clear that we still don't understand exactly why
this works.

Ben
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to