diff mbox

fix i915 regression: only top 20% of screen works in X

Message ID 20140424201349.GA31233@amd.pavel.ucw.cz (mailing list archive)
State New, archived
Headers show

Commit Message

Pavel Machek April 24, 2014, 8:13 p.m. UTC
Fix regression where only 20% of screen works in X. This is manual
revert of a51435a3137ad8ae75c288c39bd2d8b2696bae8f.

Signed-off-by: Pavel Machek <pavel@ucw.cz>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 6bc68bd..cf63c67 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -447,6 +447,11 @@  static int init_ring_common(struct intel_ring_buffer *ring)
 
 	gen6_gt_force_wake_get(dev_priv, FORCEWAKE_ALL);
 
+	if (I915_NEED_GFX_HWS(dev))
+		intel_ring_setup_status_page(ring);
+	else
+		ring_setup_phys_status_page(ring);
+
 	/* Stop the ring if it's running. */
 	I915_WRITE_CTL(ring, 0);
 	I915_WRITE_HEAD(ring, 0);
@@ -454,11 +459,6 @@  static int init_ring_common(struct intel_ring_buffer *ring)
 	if (wait_for_atomic((I915_READ_MODE(ring) & MODE_IDLE) != 0, 1000))
 		DRM_ERROR("%s :timed out trying to stop ring\n", ring->name);
 
-	if (I915_NEED_GFX_HWS(dev))
-		intel_ring_setup_status_page(ring);
-	else
-		ring_setup_phys_status_page(ring);
-
 	head = I915_READ_HEAD(ring) & HEAD_ADDR;
 
 	/* G45 ring initialization fails to reset head to zero */