[Intel-gfx] [PATCH 2/2] drm/i915/bdw: Export workaround data to debugfs

Chris Wilson chris at chris-wilson.co.uk
Wed Aug 27 18:19:34 CEST 2014


On Wed, Aug 27, 2014 at 05:44:55PM +0200, Daniel Vetter wrote:
> >  static inline void intel_ring_emit_wa(struct intel_engine_cs *ring,
> >  				       u32 addr, u32 value)
> >  {
> > +	struct drm_device *dev = ring->dev;
> > +	struct drm_i915_private *dev_priv = dev->dev_private;
> > +
> > +	if (dev_priv->num_wa_regs > I915_MAX_WA_REGS)
> > +		return;
> > +
> >  	intel_ring_emit(ring, MI_LOAD_REGISTER_IMM(1));
> >  	intel_ring_emit(ring, addr);
> >  	intel_ring_emit(ring, value);
> > +
> > +	dev_priv->intel_wa_regs[dev_priv->num_wa_regs].addr = addr;
> > +	dev_priv->intel_wa_regs[dev_priv->num_wa_regs].mask = (value) & 0xFFFF;
> > +	/* value is updated with the status of remaining bits of this
> > +	 * register when it is read from debugfs file
> > +	 */
> > +	dev_priv->intel_wa_regs[dev_priv->num_wa_regs].value = value;
> > +	dev_priv->num_wa_regs++;

This is bogus. The idea of this function is be called many times during
the system uptime.

The idea of the existing tool is to be able to probe whether the
workaround has taken effect without the aid of a kernel (except for
having to work with the kernel in case of forcewake etc).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list