From c3e45ba34c734c5fb44717fe7809bd62fb2c3945 Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Fri, 23 Mar 2018 21:22:12 +0800 Subject: [PATCH] drm/rockchip: rgb: add support output_mode config Change-Id: If2c44545a7a54bb680d1025ab2793167cd24109c Signed-off-by: Sandy Huang --- drivers/gpu/drm/rockchip/rockchip_rgb.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c index 668ed2bcc820..5b8332179b7c 100644 --- a/drivers/gpu/drm/rockchip/rockchip_rgb.c +++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c @@ -144,10 +144,24 @@ rockchip_rgb_encoder_atomic_check(struct drm_encoder *encoder, { struct rockchip_crtc_state *s = to_rockchip_crtc_state(crtc_state); struct rockchip_rgb *rgb = encoder_to_rgb(encoder); + struct drm_connector *connector = conn_state->connector; + struct drm_display_info *info = &connector->display_info; s->output_mode = rgb->output_mode; s->output_type = DRM_MODE_CONNECTOR_LVDS; + if (info->num_bus_formats) + s->bus_format = info->bus_formats[0]; + else + s->bus_format = MEDIA_BUS_FMT_RGB888_1X24; + + if (s->bus_format == MEDIA_BUS_FMT_RGB666_1X18) + s->output_mode = ROCKCHIP_OUT_MODE_P666; + else if (s->bus_format == MEDIA_BUS_FMT_RGB565_1X16) + s->output_mode = ROCKCHIP_OUT_MODE_P565; + else + s->output_mode = ROCKCHIP_OUT_MODE_P888; + return 0; }