[Intel-gfx] [bisected] commit 176f28eb breaks my Sandybridge

Carl Worth cworth at cworth.org
Fri Nov 5 00:03:45 CET 2010


The commit below causes my Sandybridge system to fail at initial KMS
initialization:

Aug 27 18:58:04 livid kernel: [    9.099032] i915 0000:00:02.0: irq 42 for MSI/M
SI-X
Aug 27 18:58:04 livid kernel: [    9.099086] [drm:init_ring_common] *ERROR* render ring initialization failed ctl 00000000 head 00000000 tail 00000000 start 00000000
Aug 27 18:58:04 livid kernel: [    9.099266] [drm:i915_driver_load] *ERROR* failed to init modeset
Aug 27 18:58:04 livid kernel: [    9.110257] PM: Removing info for No Bus:card0
Aug 27 18:58:04 livid kernel: [    9.110304] PM: Removing info for No Bus:controlD64
Aug 27 18:58:04 livid kernel: [    9.110326] i915: probe of 0000:00:02.0 failed with error -5

[Ignore the date/time---that really was from a boot today.]

Chris, what can I do to help debug what the correct solution is here?

-Carl

commit 176f28ebf4303b4f7e3a5bd8be7842a8bbecd9c3
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Oct 28 11:18:07 2010 +0100

    drm/i915/ringbuffer: Check that we setup the ringbuffer
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/inte
index 8eaa60c..e88214e 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -176,9 +176,10 @@ static int init_ring_common(struct intel_ring_buffer *ring)
                        ((ring->gem_object->size - PAGE_SIZE) & RING_NR_PAGES)
                        | RING_NO_REPORT | RING_VALID);
 
-       head = I915_READ_HEAD(ring) & HEAD_ADDR;
        /* If the head is still not zero, the ring is dead */
-       if (head != 0) {
+       if ((I915_READ_CTL(ring) & RING_VALID) == 0 ||
+           I915_READ_START(ring) != obj_priv->gtt_offset ||
+           (I915_READ_HEAD(ring) & HEAD_ADDR) != 0) {
                DRM_ERROR("%s initialization failed "
                                "ctl %08x head %08x tail %08x start %08x\n",
                                ring->name,






More information about the Intel-gfx mailing list