Hmm. I missed that the "after initialisation" printk is correct. So perhaps all we need is to wait a little longer...
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 2eb85cc2062f..5a74986348c6 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -537,7 +537,7 @@ static int init_ring_common(struct intel_ring_buffer *ring) /* If the head is still not zero, the ring is dead */ if (wait_for((I915_READ_CTL(ring) & RING_VALID) != 0 && I915_READ_START(ring) == i915_gem_obj_ggtt_offset(obj) && - (I915_READ_HEAD(ring) & HEAD_ADDR) == 8, 50)) { + (I915_READ_HEAD(ring) & HEAD_ADDR) == 8, 1000)) { DRM_ERROR("%s initialization failed " "ctl %08x (valid? %d) head %08x tail %08x start %08x [expected %08lx]\n", ring->name,
Hmm. I missed that the "after initialisation" printk is correct. So perhaps all we need is to wait a little longer...
diff --git a/drivers/ gpu/drm/ i915/intel_ ringbuffer. c b/drivers/ gpu/drm/ i915/intel_ ringbuffer. c .5a74986348c6 100644 gpu/drm/ i915/intel_ ringbuffer. c gpu/drm/ i915/intel_ ringbuffer. c common( struct intel_ring_buffer *ring) (I915_READ_ CTL(ring) & RING_VALID) != 0 &&
I915_READ_ START(ring) == i915_gem_ obj_ggtt_ offset( obj) && HEAD(ring) & HEAD_ADDR) == 8, 50)) { HEAD(ring) & HEAD_ADDR) == 8, 1000)) {
DRM_ERROR( "%s initialization failed "
"ctl %08x (valid? %d) head %08x tail %08x start %08x [expected %08lx]\n",
ring- >name,
index 2eb85cc2062f.
--- a/drivers/
+++ b/drivers/
@@ -537,7 +537,7 @@ static int init_ring_
/* If the head is still not zero, the ring is dead */
if (wait_for(
- (I915_READ_
+ (I915_READ_