[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