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. On Thu, Dec 18, 2014 at 8:26 AM, Dave Gordon <david.s.gordon@xxxxxxxxx> 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@xxxxxxxxx> >>> --- >>> 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@xxxxxxxxxxxxxxxxxxxxx >>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx >> > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Rodrigo Vivi Blog: http://blog.vivi.eng.br _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx