[Intel-gfx] [PATCH] drm/i915: Don't complain when there is no workaround.

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Dec 18 11:17:39 PST 2014


On Thu, Dec 18, 2014 at 10:47:11AM -0800, Rodrigo Vivi wrote:
> Yeah, but Skylake is running and we didn't need any W/A here yet. The
> warning is just disturbing dmesg with 3 ops and not forcing uns to
> hunt for missing workarouinds.
> 
> We add W/A based on specific needs, not based on counts.

I can immediately see two w/as in gen9_init_clock_gating() that need to be
moved over to the new way of doing things.

> 
> On Thu, Dec 18, 2014 at 8:26 AM, Dave Gordon <david.s.gordon at intel.com> wrote:
> > On 18/12/14 08:16, Daniel Vetter wrote:
> >> On Wed, Dec 17, 2014 at 08:34:41AM -0800, Rodrigo Vivi wrote:
> >>> When we don't have any workaround to emit we should celebrate, not bother.
> >>
> >> Well except that on the platforms where this fires we really should have
> >> some, most likely. This is in a way similar to all the other WARN_ON cases
> >> we have to make sure nothing gets lost in platform enabling.
> >> -Daniel
> >
> > You could have a convention that
> >         (count == 0)
> > means "I haven't filled this in yet" (and generates a warning), whereas
> >         (count == I915_NO_WORKAROUNDS_REQUIRED)
> > (which can be defined as (~0)) means "I haven't forgotten, there really
> > aren't any workarounds" and suppresses the warning.
> >
> > Of course, any /other/ value > I915_MAX_WA_REGS should definitely give a
> > warning, preferably at compile time!
> >
> > .Dave
> >
> >>>
> >>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> >>> ---
> >>>  drivers/gpu/drm/i915/intel_lrc.c        | 2 +-
> >>>  drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +-
> >>>  2 files changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> >>> index 7670a0f..0bb50f6 100644
> >>> --- a/drivers/gpu/drm/i915/intel_lrc.c
> >>> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> >>> @@ -1096,7 +1096,7 @@ static int intel_logical_ring_workarounds_emit(struct intel_engine_cs *ring,
> >>>      struct drm_i915_private *dev_priv = dev->dev_private;
> >>>      struct i915_workarounds *w = &dev_priv->workarounds;
> >>>
> >>> -    if (WARN_ON_ONCE(w->count == 0))
> >>> +    if (w->count == 0)
> >>>              return 0;
> >>>
> >>>      ring->gpu_caches_dirty = true;
> >>> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>> index 12a36f0..3d99bb1 100644
> >>> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>> @@ -682,7 +682,7 @@ static int intel_ring_workarounds_emit(struct intel_engine_cs *ring,
> >>>      struct drm_i915_private *dev_priv = dev->dev_private;
> >>>      struct i915_workarounds *w = &dev_priv->workarounds;
> >>>
> >>> -    if (WARN_ON_ONCE(w->count == 0))
> >>> +    if (w->count == 0)
> >>>              return 0;
> >>>
> >>>      ring->gpu_caches_dirty = true;
> >>> --
> >>> 1.9.3
> >>>
> >>> _______________________________________________
> >>> Intel-gfx mailing list
> >>> Intel-gfx at lists.freedesktop.org
> >>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >>
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> 
> 
> -- 
> Rodrigo Vivi
> Blog: http://blog.vivi.eng.br
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list