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@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 -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx