[Intel-gfx] Linux 3.16-rc2

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 8 14:55:22 CEST 2014


On Tue, Jul 08, 2014 at 02:46:57PM +0200, Jiri Kosina wrote:
> 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.

Which error during ring-init are you hitting?
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list