On Tue, 8 Jul 2014, Chris Wilson wrote: > > I actually tried to introduce rather large delays between individual > > I915_WRITE() calls in the ring initialization sequence a couple weeks ago > > already, but it resulted in complete machine lockup (which is worse than > > my usual symptoms) during resume. Therefore I probably lack the knowledge > > of internal workings of the HW that would allow me to guess what the > > reasonable timeout value should be. > > > > Willing to test any patches. > > Are you using the extra patches on bug 76554? If not, try Just for debugging. > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c > index e18ed05dc0d5..48326f9628d4 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > @@ -526,6 +526,9 @@ static int init_ring_common(struct intel_engine_cs *ring) > ((ringbuf->size - PAGE_SIZE) & RING_NR_PAGES) > | RING_VALID); > > + I915_WRITE_HEAD(ring, 0); > + (void)I915_READ_HEAD(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) && Tried on top of current Linus' tree, and no improvement. ring initialization failure upon resume, and window redrawing hosed. -- Jiri Kosina SUSE Labs _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx