[Intel-gfx] [PATCH 05/15] drm/i915: capture the correct cursor registers on IVB

Daniel Vetter daniel at ffwll.ch
Sun Mar 17 21:26:57 CET 2013


On Fri, Mar 15, 2013 at 11:45:47AM -0700, Ben Widawsky wrote:
> On Thu, Mar 07, 2013 at 11:34:08AM +0200, Ville Syrjälä wrote:
> > On Wed, Mar 06, 2013 at 08:03:12PM -0300, Paulo Zanoni wrote:
> > > From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > > 
> > > This solves some "unclaimed register" messages when there's a GPU hang
> > > on Haswell.
> > > 
> > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_display.c |   12 +++++++++---
> > >  1 file changed, 9 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > > index 9a9f6d7..789a95a 100644
> > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > @@ -9336,9 +9336,15 @@ intel_display_capture_error_state(struct drm_device *dev)
> > >  	for_each_pipe(i) {
> > >  		cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv, i);
> > >  
> > > -		error->cursor[i].control = I915_READ(CURCNTR(i));
> > > -		error->cursor[i].position = I915_READ(CURPOS(i));
> > > -		error->cursor[i].base = I915_READ(CURBASE(i));
> > > +		if (INTEL_INFO(dev)->gen <= 6) {
> > > +			error->cursor[i].control = I915_READ(CURCNTR(i));
> > > +			error->cursor[i].position = I915_READ(CURPOS(i));
> > > +			error->cursor[i].base = I915_READ(CURBASE(i));
> > > +		} else {
> > > +			error->cursor[i].control = I915_READ(CURCNTR_IVB(i));
> > > +			error->cursor[i].position = I915_READ(CURPOS_IVB(i));
> > > +			error->cursor[i].base = I915_READ(CURBASE_IVB(i));
> > > +		}
> > 
> > Needs a VLV check.
> 
> Has anyone ever used this to actually debug an issue?
> 
> Ville's right, I suppose (I'm too lazy to find VLV docs). The non-VLV
> part of the patch is:
> Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

Queued for -next with the IS_VLV check added, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list