On Mon, 2018-08-27 at 14:56 +0300, Ville Syrjälä wrote: > On Fri, Aug 24, 2018 at 01:38:55PM -0700, Dhinakaran Pandiyan wrote: > > skl_plane_has_planar is hard to read, simplify the logic by > > checking for > > support in the order of platform, pipe and plane. > > I had a slightly different version of this somewhere. But this one > might > be even better. > > > > > No change in functionality intended. > > > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/intel_display.c | 27 +++++++++--------------- > > --- > > 1 file changed, 9 insertions(+), 18 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_display.c > > b/drivers/gpu/drm/i915/intel_display.c > > index 30fdfd1a3037..7e18bd8b21b8 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -13622,24 +13622,15 @@ static bool skl_plane_has_fbc(struct > > drm_i915_private *dev_priv, > > bool skl_plane_has_planar(struct drm_i915_private *dev_priv, > > enum pipe pipe, enum plane_id plane_id) > > { > > - if (plane_id == PLANE_PRIMARY) { > > - if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv)) > > - return false; > > - else if ((INTEL_GEN(dev_priv) == 9 && pipe == > > PIPE_C) && > > - !IS_GEMINILAKE(dev_priv)) > > - return false; > > - } else if (plane_id >= PLANE_SPRITE0) { > > - if (plane_id == PLANE_CURSOR) > > - return false; > > - if (IS_GEMINILAKE(dev_priv) || INTEL_GEN(dev_priv) > > == 10) { > > - if (plane_id != PLANE_SPRITE0) > > - return false; > > - } else { > > - if (plane_id != PLANE_SPRITE0 || pipe == > > PIPE_C || > > - IS_SKYLAKE(dev_priv) || > > IS_BROXTON(dev_priv)) > > - return false; > > - } > > - } > > + if (IS_SKYLAKE(dev_priv) || IS_BROXTON(dev_priv)) > > + return false; > > + > > + if (INTEL_GEN(dev_priv) == 9 && !IS_GEMINILAKE(dev_priv) > > && pipe == PIPE_C) > > + return false; > > + > > + if (plane_id == PLANE_CURSOR || plane_id != PLANE_SPRITE0) > > + return false; > > The cursor check is rather redundant here. IIRC I put it at the very > start of the function to make it obvious that cursor never supports > this. But we could just as well drop the check entirely. > > This also disables NV12 for the primary plane which isn't correct. That's a good catch, thanks. Switch the condition to if (plane_id != PLANE_PRIMARY && plane_id != PLANE_SPRITE0) return false; ? > > > + > > return true; > > } > > > > -- > > 2.17.1 > > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx