diff options
Diffstat (limited to 'meta/packages/linux/linux-moblin-2.6.27-rc6/0006-i915-Track-progress-inside-of-batchbuffers-for-dete.patch')
-rw-r--r-- | meta/packages/linux/linux-moblin-2.6.27-rc6/0006-i915-Track-progress-inside-of-batchbuffers-for-dete.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/meta/packages/linux/linux-moblin-2.6.27-rc6/0006-i915-Track-progress-inside-of-batchbuffers-for-dete.patch b/meta/packages/linux/linux-moblin-2.6.27-rc6/0006-i915-Track-progress-inside-of-batchbuffers-for-dete.patch deleted file mode 100644 index 8736250f0..000000000 --- a/meta/packages/linux/linux-moblin-2.6.27-rc6/0006-i915-Track-progress-inside-of-batchbuffers-for-dete.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit 1236e8610ab9c6f9f8297e60530bedb2640c7224 -Author: Keith Packard <keithp@keithp.com> -Date: Wed Jul 30 12:21:20 2008 -0700 - - 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> - Signed-off-by: Dave Airlie <airlied@redhat.com> - -diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c -index 10bfb0c..4c72a01 100644 ---- 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 * dev, int n, const char *caller) - { - 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 * dev, int n, const char *caller) - - 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; |