Another fix for Sandybridge stalls
This commit is contained in:
parent
198deb8acf
commit
0dd8943dd9
|
@ -0,0 +1,43 @@
|
|||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Tue, 21 Jun 2011 17:37:59 +0000 (+0100)
|
||||
Subject: drm/i915: Apply HWSTAM workaround for BSD ring on SandyBridge
|
||||
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=ec6a890dfed7dd245beba5e5bcdfcffbd934c284
|
||||
|
||||
drm/i915: Apply HWSTAM workaround for BSD ring on SandyBridge
|
||||
|
||||
...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>
|
||||
---
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
|
||||
index 9e34a1a..ae2b499 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_irq.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_irq.c
|
||||
@@ -1749,6 +1749,7 @@ 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 */
|
||||
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
|
||||
index 2f967af..5d5def7 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_reg.h
|
||||
+++ b/drivers/gpu/drm/i915/i915_reg.h
|
||||
@@ -531,6 +531,7 @@
|
||||
#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)
|
||||
|
|
@ -700,6 +700,7 @@ Patch1826: drm-intel-edp-fixes.patch
|
|||
Patch1828: drm-intel-eeebox-eb1007-quirk.patch
|
||||
Patch1829: drm-intel-restore-mode.patch
|
||||
Patch1830: drm-i915-snb-irq-stalls-fix.patch
|
||||
Patch1831: drm-i915-apply-hwstam-workaround-for-bsd-ring-on-sandybridge.patch
|
||||
# radeon - new hw + fixes for fusion and t500 regression
|
||||
Patch1839: drm-radeon-fix-regression-on-atom-cards-with-hardcoded-EDID-record.patch
|
||||
Patch1840: drm-radeon-update.patch
|
||||
|
@ -1391,6 +1392,7 @@ ApplyPatch drm-i915-fix-pipelined-fencing.patch
|
|||
ApplyPatch drm-intel-eeebox-eb1007-quirk.patch
|
||||
ApplyPatch drm-intel-restore-mode.patch
|
||||
ApplyPatch drm-i915-snb-irq-stalls-fix.patch
|
||||
ApplyPatch drm-i915-apply-hwstam-workaround-for-bsd-ring-on-sandybridge.patch
|
||||
|
||||
# radeon DRM (add cayman support)
|
||||
ApplyPatch drm-radeon-fix-regression-on-atom-cards-with-hardcoded-EDID-record.patch -R
|
||||
|
@ -2068,6 +2070,8 @@ fi
|
|||
%changelog
|
||||
* Sat Jun 25 2011 Chuck Ebbert <cebbert@redhat.com>
|
||||
- Intel IOMMU fixes from 2.6.39.2
|
||||
- drm-i915-apply-hwstam-workaround-for-bsd-ring-on-sandybridge.patch:
|
||||
Another fix for Sandybridge stalls
|
||||
|
||||
* Fri Jun 24 2011 Chuck Ebbert <cebbert@redhat.com>
|
||||
- Minor cleanup: use upstream patch to export block_{get,put}_queue
|
||||
|
|
Loading…
Reference in New Issue