From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: Re: [PATCH v3 04/21] drm/sun4i: frontend: Pass DRM format info to input mode helper Date: Tue, 4 Dec 2018 16:21:58 +0100 Message-ID: <20181204152158.rclvmyql6ct5jley@flea> References: <20181204142218.16284-1-paul.kocialkowski@bootlin.com> <20181204142218.16284-5-paul.kocialkowski@bootlin.com> Reply-To: maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="qmeysasvn3o4kko2" Return-path: Sender: linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Content-Disposition: inline In-Reply-To: <20181204142218.16284-5-paul.kocialkowski-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , To: Paul Kocialkowski Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Airlie , Chen-Yu Tsai , Maarten Lankhorst , Sean Paul , Thomas Petazzoni , linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org --qmeysasvn3o4kko2 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline On Tue, Dec 04, 2018 at 03:22:01PM +0100, Paul Kocialkowski wrote: > The helper returning the input mode needs to know the number of planes > for the provided format. Passing the fourcc requires iterating through > the format info list in order to return the number of planes. > > Pass the DRM format info structure directly instead, since it's > available to the caller. Also rename the input format in the caller > function to keep things consistent. > > Signed-off-by: Paul Kocialkowski > --- > drivers/gpu/drm/sun4i/sun4i_frontend.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_frontend.c b/drivers/gpu/drm/sun4i/sun4i_frontend.c > index 1a7ebc45747e..c436fa97928f 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_frontend.c > +++ b/drivers/gpu/drm/sun4i/sun4i_frontend.c > @@ -116,9 +116,11 @@ static int sun4i_frontend_drm_format_to_input_fmt(uint32_t fmt, u32 *val) > } > } > > -static int sun4i_frontend_drm_format_to_input_mode(uint32_t fmt, u32 *val) > +static int > +sun4i_frontend_drm_format_to_input_mode(const struct drm_format_info *format, > + u32 *val) > { > - if (drm_format_num_planes(fmt) == 1) > + if (format->num_planes == 1) > *val = SUN4I_FRONTEND_INPUT_FMT_DATA_MOD_PACKED; > else > return -EINVAL; > @@ -183,12 +185,13 @@ int sun4i_frontend_update_formats(struct sun4i_frontend *frontend, > { > struct drm_plane_state *state = plane->state; > struct drm_framebuffer *fb = state->fb; > - uint32_t format = fb->format->format; > + const struct drm_format_info *format = fb->format; > u32 out_fmt_val; > u32 in_fmt_val, in_mod_val, in_ps_val; > int ret; > > - ret = sun4i_frontend_drm_format_to_input_fmt(format, &in_fmt_val); > + ret = sun4i_frontend_drm_format_to_input_fmt(format->format, > + &in_fmt_val); > if (ret) { > DRM_DEBUG_DRIVER("Invalid input format\n"); > return ret; > @@ -200,7 +203,8 @@ int sun4i_frontend_update_formats(struct sun4i_frontend *frontend, > return ret; > } > > - ret = sun4i_frontend_drm_format_to_input_sequence(format, &in_ps_val); > + ret = sun4i_frontend_drm_format_to_input_sequence(format->format, > + &in_ps_val); To keep things really consistent, we should also convert those functions to get a drm_format_info pointer instead of the fourcc :) It can come as a later patch though. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com --qmeysasvn3o4kko2--