summaryrefslogtreecommitdiff
path: root/meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch47
1 files changed, 0 insertions, 47 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch b/meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch
deleted file mode 100644
index c391d16b7..000000000
--- a/meta-moblin/packages/linux/linux-moblin-2.6.27-rc1/0004_i915.Track_progress_inside_of_batchbuffers_for_determining_wedgedness.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Keith Packard <keithp@keithp.com>
-Date: Wed, 30 Jul 2008 19:21:20 +0000 (-0700)
-Subject: i915: Track progress inside of batchbuffers for determining wedgedness.
-X-Git-Tag: v2.6.12-rc2
-X-Git-Url: http://gitweb.freedesktop.org/?p=users/anholt/anholt/linux-2.6.git;a=commitdiff;h=f0740db2246e4217384e8de32de6ebb4fbd807c9
-
-i915: Track progress inside of batchbuffers for determining wedgedness.
-
-This avoids early termination for long-running commands.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
-
---- a/drivers/gpu/drm/i915/i915_dma.c
-+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -40,11 +40,15 @@ int i915_wait_ring(struct drm_device * d
- {
- drm_i915_private_t *dev_priv = dev->dev_private;
- drm_i915_ring_buffer_t *ring = &(dev_priv->ring);
-+ u32 acthd_reg = IS_I965G(dev) ? ACTHD_I965 : ACTHD;
-+ u32 last_acthd = I915_READ(acthd_reg);
-+ u32 acthd;
- u32 last_head = I915_READ(PRB0_HEAD) & HEAD_ADDR;
- int i;
-
-- for (i = 0; i < 10000; i++) {
-+ for (i = 0; i < 100000; i++) {
- ring->head = I915_READ(PRB0_HEAD) & HEAD_ADDR;
-+ acthd = I915_READ(acthd_reg);
- ring->space = ring->head - (ring->tail + 8);
- if (ring->space < 0)
- ring->space += ring->Size;
-@@ -55,8 +59,13 @@ int i915_wait_ring(struct drm_device * d
-
- if (ring->head != last_head)
- i = 0;
-+ if (acthd != last_acthd)
-+ i = 0;
-
- last_head = ring->head;
-+ last_acthd = acthd;
-+ msleep_interruptible(10);
-+
- }
-
- return -EBUSY;
-