From 200cf09a0101a7c96a5f4e7953bf59b304a76a4d Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Wed, 4 Nov 2020 17:04:46 +0800 Subject: [PATCH] drm/rockchip: rgb: add support interlace mode and output_if flag BT656 typical output mode is 480i and 576i, so add connector interlace allowed. Change-Id: I6c832a1e7fd8cca69da5f6cfdd9681d72696d67a Signed-off-by: Sandy Huang --- drivers/gpu/drm/rockchip/rockchip_rgb.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c index b11f3fe06606..e192c9265945 100644 --- a/drivers/gpu/drm/rockchip/rockchip_rgb.c +++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c @@ -182,26 +182,33 @@ rockchip_rgb_encoder_atomic_check(struct drm_encoder *encoder, switch (s->bus_format) { case MEDIA_BUS_FMT_RGB666_1X18: s->output_mode = ROCKCHIP_OUT_MODE_P666; + s->output_if = VOP_OUTPUT_IF_RGB; break; case MEDIA_BUS_FMT_RGB565_1X16: s->output_mode = ROCKCHIP_OUT_MODE_P565; + s->output_if = VOP_OUTPUT_IF_RGB; break; case MEDIA_BUS_FMT_SRGB888_3X8: s->output_mode = ROCKCHIP_OUT_MODE_S888; + s->output_if = VOP_OUTPUT_IF_RGB; break; case MEDIA_BUS_FMT_SRGB888_DUMMY_4X8: s->output_mode = ROCKCHIP_OUT_MODE_S888_DUMMY; + s->output_if = VOP_OUTPUT_IF_RGB; break; case MEDIA_BUS_FMT_YUYV8_2X8: s->output_mode = ROCKCHIP_OUT_MODE_BT656; + s->output_if = VOP_OUTPUT_IF_BT656; break; case MEDIA_BUS_FMT_YUYV8_1X16: s->output_mode = ROCKCHIP_OUT_MODE_BT1120; + s->output_if = VOP_OUTPUT_IF_BT1120; break; case MEDIA_BUS_FMT_RGB888_1X24: case MEDIA_BUS_FMT_RGB666_1X24_CPADHI: default: s->output_mode = ROCKCHIP_OUT_MODE_P888; + s->output_if = VOP_OUTPUT_IF_RGB; break; } @@ -267,6 +274,7 @@ static int rockchip_rgb_bind(struct device *dev, struct device *master, if (rgb->panel) { connector = &rgb->connector; + connector->interlace_allowed = true; ret = drm_connector_init(drm_dev, connector, &rockchip_rgb_connector_funcs, DRM_MODE_CONNECTOR_DPI);