This patch doesn't apply to the .36 stable tree If someone wants it applied there, please email the backport to [email protected]
thanks, greg k-h > commit: 6fd0d56e3bc1abfb237b8824261b613e21e77bc8 > From: Chris Wilson <[email protected]> > Date: Sun, 5 Dec 2010 20:42:33 +0000 > Subject: [PATCH] drm/i915/ringbuffer: Only print an error on the second > attempt to reset head > > There's not much we can do here but hope for the best. However the first > failure happens quite frequently and if often remedied by the second > attempt to reset HEAD. So only print the error if that attempt also > fails. > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=19802 > Reported-by: Thomas Meyer <[email protected]> > Signed-off-by: Chris Wilson <[email protected]> > Cc: [email protected] > --- > drivers/gpu/drm/i915/intel_ringbuffer.c | 30 ++++++++++++++++-------------- > 1 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c > b/drivers/gpu/drm/i915/intel_ringbuffer.c > index b83306f..89a65be 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > @@ -156,23 +156,25 @@ static int init_ring_common(struct drm_device *dev, > > /* G45 ring initialization fails to reset head to zero */ > if (head != 0) { > - DRM_ERROR("%s head not reset to zero " > - "ctl %08x head %08x tail %08x start %08x\n", > - ring->name, > - I915_READ_CTL(ring), > - I915_READ_HEAD(ring), > - I915_READ_TAIL(ring), > - I915_READ_START(ring)); > + DRM_DEBUG_KMS("%s head not reset to zero " > + "ctl %08x head %08x tail %08x start %08x\n", > + ring->name, > + I915_READ_CTL(ring), > + I915_READ_HEAD(ring), > + I915_READ_TAIL(ring), > + I915_READ_START(ring)); > > I915_WRITE_HEAD(ring, 0); > > - DRM_ERROR("%s head forced to zero " > - "ctl %08x head %08x tail %08x start %08x\n", > - ring->name, > - I915_READ_CTL(ring), > - I915_READ_HEAD(ring), > - I915_READ_TAIL(ring), > - I915_READ_START(ring)); > + if (I915_READ_HEAD(ring) & HEAD_ADDR) { > + DRM_ERROR("failed to set %s head to zero " > + "ctl %08x head %08x tail %08x start %08x\n", > + ring->name, > + I915_READ_CTL(ring), > + I915_READ_HEAD(ring), > + I915_READ_TAIL(ring), > + I915_READ_START(ring)); > + } > } > > I915_WRITE_CTL(ring, > > _______________________________________________ > stable mailing list > [email protected] > http://linux.kernel.org/mailman/listinfo/stable _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
