commit f8b48b21cb7b587ad918d4ce8dcf28ed7ca0a631 Author: Daniel Vetter Date: Fri Feb 17 11:07:29 2012 +0100 Revert "drm/i915: enable forcewake voodoo also for gen6" Well, only partially, we keep the forcewake voodoo but reinstate the hwstam crap ... Signed-off-by: Daniel Vetter diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index afd4e03..909b81f 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1815,6 +1815,18 @@ static void ironlake_irq_preinstall(struct drm_device *dev) I915_WRITE(HWSTAM, 0xeffe); + if (IS_GEN6(dev)) { + /* Workaround stalls observed on Sandy Bridge GPUs by + * making the blitter command streamer generate a + * write to the Hardware Status Page for + * MI_USER_INTERRUPT. This appears to serialize the + * previous seqno write out before the interrupt + * happens. + */ + I915_WRITE(GEN6_BLITTER_HWSTAM, ~GEN6_BLITTER_USER_INTERRUPT); + I915_WRITE(GEN6_BSD_HWSTAM, ~GEN6_BSD_USER_INTERRUPT); + } + /* XXX hotplug from PCH */ I915_WRITE(DEIMR, 0xffffffff);