From 591e580fcd59f67c8f8ba0ea79c2afc883041126 Mon Sep 17 00:00:00 2001 From: Damon Ding Date: Tue, 11 Feb 2025 16:33:19 +0800 Subject: [PATCH] drm/rockchip: vop2: 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: Idbb6f6ef2ac17dc0dd63d67519733dbd1e29e9dd Signed-off-by: Damon Ding --- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 949da8ff3066..b94263360ece 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -8702,7 +8702,7 @@ static bool vop2_crtc_mode_fixup(struct drm_crtc *crtc, if (vop2->version == VOP_VERSION_RK3528 && vcstate->output_if & VOP_OUTPUT_IF_BT656) adj_mode->crtc_clock *= 4; - if (vp->mcu_timing.mcu_pix_total) + if (vcstate->output_if & VOP_OUTPUT_IF_RGB) adj_mode->crtc_clock *= rockchip_drm_get_cycles_per_pixel(vcstate->bus_format) * (vp->mcu_timing.mcu_pix_total + 1);