]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: Apply HWSTAM workaround for BSD ring on SandyBridge
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 21 Jun 2011 17:37:59 +0000 (18:37 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 9 Jul 2011 06:15:42 +0000 (23:15 -0700)
commit ec6a890dfed7dd245beba5e5bcdfcffbd934c284 upstream.

...we need to apply exactly the same workaround for missing interrupts
from BSD as for the BLT ring, apparently.

See also commit 498e720b96379d8ee9c294950a01534a73defcf3
(drm/i915: Fix gen6 (SNB) missed BLT ring interrupts).

Reported-and-tested-by: nkalkhof@web.de
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38529
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h

index 82659c8a9bc06995668e5440fdd88ad8ed090abb..58c7f272b6c563103e6b9a071b6222fe33c42955 100644 (file)
@@ -1576,6 +1576,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
                 * happens.
                 */
                I915_WRITE(GEN6_BLITTER_HWSTAM, ~GEN6_BLITTER_USER_INTERRUPT);
+               I915_WRITE(GEN6_BSD_HWSTAM, ~GEN6_BSD_USER_INTERRUPT);
        }
 
        /* XXX hotplug from PCH */
index f39ac3a0fa9339e3d5ae4276e5ec354ad410746b..5a96fd12a2d3075c0016c61ba8189bdf37cf6e37 100644 (file)
 #define   GEN6_BSD_SLEEP_PSMI_CONTROL_RC_ILDL_MESSAGE_ENABLE           0
 #define   GEN6_BSD_SLEEP_PSMI_CONTROL_IDLE_INDICATOR                   (1 << 3)
 
+#define GEN6_BSD_HWSTAM                        0x12098
 #define GEN6_BSD_IMR                   0x120a8
 #define   GEN6_BSD_USER_INTERRUPT      (1 << 12)