From 825560b30c899e0fc7794f4e2faf3cb283c51baa Mon Sep 17 00:00:00 2001 From: Damon Ding Date: Tue, 11 Feb 2025 16:18:54 +0800 Subject: [PATCH] drm/rockchip: vop: add cycles_per_pixel check for both rgb and mcu interfaces The RGB interface also supports formats that have multiple cycles per pixel, such as MEDIA_BUS_FMT_RGB888_3X8, MEDIA_BUS_FMT_RGB565_2X8_LE, and so on. And the &drm_display_mode.crtc_clock should be multiplied by the return value of rockchip_drm_get_cycles_per_pixel(). Fixes: 3cb261be8983 ("drm/rockchip: drv: fix the dclk calculation of mcu interface") Change-Id: I85c0168ccfaedbf5566a2c6b8f86e881fbc93ad0 Signed-off-by: Damon Ding --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index a4b2d187d508..4565465318c3 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -3349,7 +3349,7 @@ static bool vop_crtc_mode_fixup(struct drm_crtc *crtc, s->output_if & VOP_OUTPUT_IF_BT656)) adj_mode->crtc_clock *= 2; - if (vop->mcu_timing.mcu_pix_total) + if (s->output_if & VOP_OUTPUT_IF_RGB) adj_mode->crtc_clock *= rockchip_drm_get_cycles_per_pixel(s->bus_format) * (vop->mcu_timing.mcu_pix_total + 1);