[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140424201521.GN31221@nuc-i3427.alporthouse.com>
Date: Thu, 24 Apr 2014 21:15:21 +0100
From: Chris Wilson <chris@...is-wilson.co.uk>
To: Pavel Machek <pavel@....cz>
Cc: Daniel Vetter <daniel.vetter@...ll.ch>,
intel-gfx <intel-gfx@...ts.freedesktop.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
dri-devel <dri-devel@...ts.freedesktop.org>,
kernel list <linux-kernel@...r.kernel.org>,
Jiri Kosina <jikos@...os.cz>
Subject: Re: [bisect result] Re: 3.15-rc2: i915 regression: only top 20% of
screen works in X
On Thu, Apr 24, 2014 at 09:40:38PM +0200, Pavel Machek wrote:
> Hi!
>
> > And if you can indeed reliably reproduce this a bisect could be really useful.
>
> And we have a winner here :-)
>
> Ok, it was not as painfull as I feared.
>
> It does not revert cleanly, but doing it by hand was not that bad.
Oh my. That is bizarre, can you check whether you have
commit 9991ae787a0c87fe7c783b4b6f4754c3cdbb6213
Author: Chris Wilson <chris@...is-wilson.co.uk>
Date: Wed Apr 2 16:36:07 2014 +0100
drm/i915: Move all ring resets before setting the HWS page
in your latest kernel? That just makes
> commit a51435a3137ad8ae75c288c39bd2d8b2696bae8f
> Author: Naresh Kumar Kachhi <naresh.kumar.kachhi@...el.com>
> Date: Wed Mar 12 16:39:40 2014 +0530
>
> drm/i915: disable rings before HW status page setup
more consistent wrt g4x.
To confirm, on drm-intel-nightly you used a patch like:
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 36a62af..ce6186a 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -494,6 +494,11 @@ static int init_ring_common(struct intel_ring_buffer *ring)
I915_READ_TAIL(ring),
I915_READ_START(ring));
+ if (I915_NEED_GFX_HWS(dev))
+ intel_ring_setup_status_page(ring);
+ else
+ ring_setup_phys_status_page(ring);
+
if (!stop_ring(ring)) {
/* G45 ring initialization often fails to reset head to zero */
DRM_DEBUG_KMS("%s head not reset to zero "
@@ -517,11 +522,6 @@ static int init_ring_common(struct intel_ring_buffer *ring)
}
}
- if (I915_NEED_GFX_HWS(dev))
- intel_ring_setup_status_page(ring);
- else
- ring_setup_phys_status_page(ring);
-
reset:
/* Initialize the ring. This must happen _after_ we've cleared the ring
* registers with the above sequence (the readback of the HEAD registers
--
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists