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

Ben Widawsky ben at bwidawsk.net
Fri Jan 6 00:29:44 CET 2012


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: 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>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Reviewed-and-Tested-by: Ben Widawsky <ben at bwidawsk.net>


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

Ben



More information about the Intel-gfx mailing list