drm/rockchip: Change the scl_vop_cal_scl_fac to pass drm_format_info
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. Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Sean Paul <sean@poorly.run> Suggested-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/27b0041c7977402df4a087c78d2849ffe51c9f1c.1558002671.git-series.maxime.ripard@bootlin.com
This commit is contained in:
parent
78666baac2
commit
45babef01f
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue