On Fri, Nov 03, 2017 at 05:50:17PM +0200, Ville Syrjälä wrote:
> On Fri, Nov 03, 2017 at 04:37:57PM +0200, Juha-Pekka Heikkila wrote:
> > This makes intel_plane_atomic_check_with_state() generally shorter.
> > 
> > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com>
> > ---
> >  drivers/gpu/drm/i915/intel_atomic_plane.c | 53 
> > +++++++++++++++++--------------
> >  1 file changed, 30 insertions(+), 23 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c 
> > b/drivers/gpu/drm/i915/intel_atomic_plane.c
> > index 8e6dc15..6c4c82e2d 100644
> > --- a/drivers/gpu/drm/i915/intel_atomic_plane.c
> > +++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
> > @@ -107,6 +107,35 @@ intel_plane_destroy_state(struct drm_plane *plane,
> >     drm_atomic_helper_plane_destroy_state(plane, state);
> >  }
> >  
> > +static bool intel_valid_rotation(const struct drm_plane_state *state)

Oh and please name this parameter 'plane_state'. We're trying to slowly
clean up the mess with inconsistent naming of things.

> > +{
> > +   struct drm_format_name_buf format_name;
> > +
> > +   if (state->fb->modifier != I915_FORMAT_MOD_Y_TILED &&
> > +       state->fb->modifier != I915_FORMAT_MOD_Yf_TILED) {
> > +           DRM_DEBUG_KMS("Y/Yf tiling required for 90/270!\n");
> > +           return false;
> > +   }
> > +
> > +   /*
> > +    * 90/270 is not allowed with RGB64 16:16:16:16,
> > +    * RGB 16-bit 5:6:5, and Indexed 8-bit.
> > +    * TBD: Add RGB64 case once its added in supported format list.
> > +    */
> > +   switch (state->fb->format->format) {
> > +   case DRM_FORMAT_C8:
> > +   case DRM_FORMAT_RGB565:
> > +           DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n",
> > +                         drm_get_format_name(state->fb->format->format,
> > +                                             &format_name));
> > +           return false;
> > +
> > +   default:
> > +           break;
> > +   }
> 
> Usually there's an empty line after the final return.
> 
> > +   return true;
> > +}
> > +
> >  int intel_plane_atomic_check_with_state(const struct intel_crtc_state 
> > *old_crtc_state,
> >                                     struct intel_crtc_state *crtc_state,
> >                                     const struct intel_plane_state 
> > *old_plane_state,
> > @@ -138,30 +167,8 @@ int intel_plane_atomic_check_with_state(const struct 
> > intel_crtc_state *old_crtc_
> >             crtc_state->base.enable ? crtc_state->pipe_src_h : 0;
> >  
> >     if (state->fb && drm_rotation_90_or_270(state->rotation)) {
> 
> I'd pull these checks into the new function as well (as an early
> return so that we don't have to needlessly indent the whole
> function body). Otherwise the function name doesn't really match
> the implementation.
> 
> > -           struct drm_format_name_buf format_name;
> > -
> > -           if (state->fb->modifier != I915_FORMAT_MOD_Y_TILED &&
> > -               state->fb->modifier != I915_FORMAT_MOD_Yf_TILED) {
> > -                   DRM_DEBUG_KMS("Y/Yf tiling required for 90/270!\n");
> > +           if (!intel_valid_rotation(state))
> >                     return -EINVAL;
> > -           }
> > -
> > -           /*
> > -            * 90/270 is not allowed with RGB64 16:16:16:16,
> > -            * RGB 16-bit 5:6:5, and Indexed 8-bit.
> > -            * TBD: Add RGB64 case once its added in supported format list.
> > -            */
> > -           switch (state->fb->format->format) {
> > -           case DRM_FORMAT_C8:
> > -           case DRM_FORMAT_RGB565:
> > -                   DRM_DEBUG_KMS("Unsupported pixel format %s for 
> > 90/270!\n",
> > -                                 
> > drm_get_format_name(state->fb->format->format,
> > -                                                     &format_name));
> > -                   return -EINVAL;
> > -
> > -           default:
> > -                   break;
> > -           }
> >     }
> >  
> >     /* CHV ignores the mirror bit when the rotate bit is set :( */
> > -- 
> > 2.7.4
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Ville Syrjälä
> Intel OTC

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to