[PATCH v7 13/22] drm/rockchip: vop2: Set correct output format for RK3576 YUV422
Andy Yan
andyshrk at 163.com
Thu Jan 22 00:44:24 PST 2026
Hello Nicolas,
At 2026-01-21 22:45:20, "Nicolas Frattaroli" <nicolas.frattaroli at collabora.com> wrote:
>For RK3576 to be able to output YUV422 signals, it first needs to be
>able to pick the right output mode in the display controller to do so.
>
>The RK3576 hardware specifies different output formats depending on the
>used display protocol.
>
>Adjust the written register value based on the SoC and connector, so
>other users of vcstate->output_mode don't have to care about this.
>
>Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli at collabora.com>
Reviewed-by: Andy Yan <andyshrk at 163.com>
>---
> drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
>diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>index 3dd7b7571487..d93c6779286e 100644
>--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
>@@ -1706,6 +1706,22 @@ static void vop2_crtc_atomic_enable(struct drm_crtc *crtc,
> if (vcstate->output_mode == ROCKCHIP_OUT_MODE_AAAA &&
> !(vp_data->feature & VOP2_VP_FEATURE_OUTPUT_10BIT))
> out_mode = ROCKCHIP_OUT_MODE_P888;
>+ else if (vcstate->output_mode == ROCKCHIP_OUT_MODE_YUV422 &&
>+ vop2->version == VOP_VERSION_RK3576)
>+ switch (vcstate->output_type) {
>+ case DRM_MODE_CONNECTOR_DisplayPort:
>+ case DRM_MODE_CONNECTOR_eDP:
>+ out_mode = ROCKCHIP_OUT_MODE_YUV422_RK3576_DP;
>+ break;
>+ case DRM_MODE_CONNECTOR_HDMIA:
>+ out_mode = ROCKCHIP_OUT_MODE_YUV422_RK3576_HDMI;
>+ break;
>+ default:
>+ drm_err(vop2->drm, "Unknown DRM_MODE_CONNECTOR %d\n",
>+ vcstate->output_type);
>+ vop2_unlock(vop2);
>+ return;
>+ }
> else
> out_mode = vcstate->output_mode;
>
>
>--
>2.52.0
>
More information about the linux-arm-kernel
mailing list