]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Sep 2012 16:09:50 +0000 (09:09 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Sep 2012 16:09:50 +0000 (09:09 -0700)
added patches:
revert-drm-i915-correctly-order-the-ring-init-sequence.patch

queue-3.4/revert-drm-i915-correctly-order-the-ring-init-sequence.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/revert-drm-i915-correctly-order-the-ring-init-sequence.patch b/queue-3.4/revert-drm-i915-correctly-order-the-ring-init-sequence.patch
new file mode 100644 (file)
index 0000000..818e163
--- /dev/null
@@ -0,0 +1,45 @@
+From foo@baz Fri Sep 28 09:06:10 PDT 2012
+Date: Fri, 28 Sep 2012 09:06:10 -0700
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: Revert: drm/i915: correctly order the ring init sequence
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 57ecc93ce680b1ace1f9e79d588dabe32353202c which
+really is commit 0d8957c8a90bbb5d34fab9a304459448a5131e06 upstream as it
+has been reported to cause problems in the 3.4.y kernel series.
+
+Cc: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
+Cc: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Cc: Jani Nikula <jani.nikula@intel.com>
+Cc: Yang Guang <guang.a.yang@intel.com>
+Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_ringbuffer.c |    7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
++++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
+@@ -258,6 +258,8 @@ static int init_ring_common(struct intel
+       I915_WRITE_HEAD(ring, 0);
+       ring->write_tail(ring, 0);
++      /* Initialize the ring. */
++      I915_WRITE_START(ring, obj->gtt_offset);
+       head = I915_READ_HEAD(ring) & HEAD_ADDR;
+       /* G45 ring initialization fails to reset head to zero */
+@@ -283,11 +285,6 @@ static int init_ring_common(struct intel
+               }
+       }
+-      /* Initialize the ring. This must happen _after_ we've cleared the ring
+-       * registers with the above sequence (the readback of the HEAD registers
+-       * also enforces ordering), otherwise the hw might lose the new ring
+-       * register values. */
+-      I915_WRITE_START(ring, obj->gtt_offset);
+       I915_WRITE_CTL(ring,
+                       ((ring->size - PAGE_SIZE) & RING_NR_PAGES)
+                       | RING_VALID);
index c56d8a0669a857f70e2972adbaa8d49ced891fc1..523cf77b5d292e479ee09e990065238704f794f7 100644 (file)
@@ -215,3 +215,4 @@ gpio-lpc32xx-fix-value-handling-of-gpio_direction_output.patch
 drm-udl-limit-modes-to-the-sku-pixel-limits.patch
 drm-i915-fall-back-to-bit-banging-if-gmbus-fails-in-crt-edid-reads.patch
 vmwgfx-corruption-in-vmw_event_fence_action_create.patch
+revert-drm-i915-correctly-order-the-ring-init-sequence.patch