[Intel-gfx] [PATCH 8/9] drm/i915: Spruce up assert_sprites_disabled()

Daniel Vetter daniel at ffwll.ch
Thu Jun 6 13:56:59 CEST 2013


On Wed, Jun 05, 2013 at 04:39:58PM -0300, Rodrigo Vivi wrote:
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
> 
> On Tue, Jun 4, 2013 at 7:49 AM,  <ville.syrjala at linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Make assert_sprites_disabled() operational on all platforms where
> > we currently have sprite support enabled.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

I guess we eventually need some more abstract hw state readout for planes,
similar to what we have on the output routing side. But this is good
enough for now, so merged.
-Daniel

> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 27 +++++++++++++++++++--------
> >  1 file changed, 19 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 9c89ddf..90d02c7 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -1132,19 +1132,30 @@ static void assert_planes_disabled(struct drm_i915_private *dev_priv,
> >  static void assert_sprites_disabled(struct drm_i915_private *dev_priv,
> >                                     enum pipe pipe)
> >  {
> > +       struct drm_device *dev = dev_priv->dev;
> >         int reg, i;
> >         u32 val;
> >
> > -       if (!IS_VALLEYVIEW(dev_priv->dev))
> > -               return;
> > -
> > -       /* Need to check both planes against the pipe */
> > -       for (i = 0; i < dev_priv->num_plane; i++) {
> > -               reg = SPCNTR(pipe, i);
> > +       if (IS_VALLEYVIEW(dev)) {
> > +               for (i = 0; i < dev_priv->num_plane; i++) {
> > +                       reg = SPCNTR(pipe, i);
> > +                       val = I915_READ(reg);
> > +                       WARN((val & SP_ENABLE),
> > +                            "sprite %c assertion failure, should be off on pipe %c but is still active\n",
> > +                            sprite_name(pipe, i), pipe_name(pipe));
> > +               }
> > +       } else if (INTEL_INFO(dev)->gen >= 7) {
> > +               reg = SPRCTL(pipe);
> > +               val = I915_READ(reg);
> > +               WARN((val & SPRITE_ENABLE),
> > +                    "sprite %c assertion failure, should be off on pipe %c but is still active\n",
> > +                    plane_name(pipe), pipe_name(pipe));
> > +       } else if (INTEL_INFO(dev)->gen >= 5) {
> > +               reg = DVSCNTR(pipe);
> >                 val = I915_READ(reg);
> > -               WARN((val & SP_ENABLE),
> > +               WARN((val & DVS_ENABLE),
> >                      "sprite %c assertion failure, should be off on pipe %c but is still active\n",
> > -                    sprite_name(pipe, i), pipe_name(pipe));
> > +                    plane_name(pipe), pipe_name(pipe));
> >         }
> >  }
> >
> > --
> > 1.8.1.5
> >
> > _______________________________________________
> > 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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list