[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5966b22a64602ce297f9a3b4bfd4ff7af72bab32.camel@bootlin.com>
Date: Mon, 20 May 2019 11:42:14 +0200
From: Paul Kocialkowski <paul.kocialkowski@...tlin.com>
To: Maxime Ripard <maxime.ripard@...tlin.com>,
Daniel Vetter <daniel.vetter@...el.com>,
David Airlie <airlied@...ux.ie>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Sean Paul <seanpaul@...omium.org>
Cc: linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org
Subject: Re: [PATCH v3 1/7] drm/rockchip: Change the scl_vop_cal_scl_fac to
pass drm_format_info
Hi,
On Thu, 2019-05-16 at 12:31 +0200, Maxime Ripard wrote:
> The Rockchip VOP driver has a function, scl_vop_cal_scl_fac, that will
> lookup the drm_format_info structure from the fourcc passed to it by its
> caller.
>
> However, its only caller already derefences the drm_format_info structure
> it has access to to retrieve that fourcc. Change the prototype of that
> function to pass the drm_format_info structure directly, removing the need
> for an extra lookup.
>
> Suggested-by: Philipp Zabel <p.zabel@...gutronix.de>
> Signed-off-by: Maxime Ripard <maxime.ripard@...tlin.com>
Reviewed-by: Paul Kocialkowski <paul.kocialkowski@...tlin.com>
Cheers,
Paul
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index 20a9c296d027..9c0d6b367709 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -315,14 +315,13 @@ static uint16_t scl_vop_cal_scale(enum scale_mode mode, uint32_t src,
>
> static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win,
> uint32_t src_w, uint32_t src_h, uint32_t dst_w,
> - uint32_t dst_h, uint32_t pixel_format)
> + uint32_t dst_h, const struct drm_format_info *info)
> {
> uint16_t yrgb_hor_scl_mode, yrgb_ver_scl_mode;
> uint16_t cbcr_hor_scl_mode = SCALE_NONE;
> uint16_t cbcr_ver_scl_mode = SCALE_NONE;
> - int hsub = drm_format_horz_chroma_subsampling(pixel_format);
> - int vsub = drm_format_vert_chroma_subsampling(pixel_format);
> - const struct drm_format_info *info;
> + int hsub = drm_format_horz_chroma_subsampling(info->format);
> + int vsub = drm_format_vert_chroma_subsampling(info->format);
> bool is_yuv = false;
> uint16_t cbcr_src_w = src_w / hsub;
> uint16_t cbcr_src_h = src_h / vsub;
> @@ -331,8 +330,6 @@ static void scl_vop_cal_scl_fac(struct vop *vop, const struct vop_win_data *win,
> uint32_t val;
> int vskiplines;
>
> - info = drm_format_info(pixel_format);
> -
> if (info->is_yuv)
> is_yuv = true;
>
> @@ -856,7 +853,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
> if (win->phy->scl)
> scl_vop_cal_scl_fac(vop, win, actual_w, actual_h,
> drm_rect_width(dest), drm_rect_height(dest),
> - fb->format->format);
> + fb->format);
>
> VOP_WIN_SET(vop, win, act_info, act_info);
> VOP_WIN_SET(vop, win, dsp_info, dsp_info);
>
> base-commit: a802303934b3bd4df6e2fc8bf2e4ebced1c37556
--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
Powered by blists - more mailing lists