From ccff376b8b51e982d4b123976ffb734ae3b35d54 Mon Sep 17 00:00:00 2001 From: Zhang Yubing Date: Sat, 15 Jan 2022 19:04:21 +0800 Subject: [PATCH] drm/rockchip: dw-dp: set the default bpc and color format when get edid failed or the edid not set the bpc and color format, we need set a default value. Signed-off-by: Zhang Yubing Signed-off-by: Wyon bi Change-Id: Icf8a7104c8d16e38f276dc74ac4df20108adf6fb --- drivers/gpu/drm/rockchip/dw-dp.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/rockchip/dw-dp.c b/drivers/gpu/drm/rockchip/dw-dp.c index 5c0c8e69a45e..aacc919cde0c 100644 --- a/drivers/gpu/drm/rockchip/dw-dp.c +++ b/drivers/gpu/drm/rockchip/dw-dp.c @@ -486,17 +486,20 @@ static int dw_dp_connector_get_modes(struct drm_connector *connector) struct dw_dp *dp = connector_to_dp(connector); struct drm_display_info *di = &connector->display_info; struct edid *edid; - int num_modes; + int num_modes = 0; edid = drm_bridge_get_edid(&dp->bridge, connector); - if (!edid) { - DRM_DEV_ERROR(dp->dev, "failed to get edid\n"); - return 0; + if (edid) { + drm_connector_update_edid_property(connector, edid); + num_modes = drm_add_edid_modes(connector, edid); + kfree(edid); } - drm_connector_update_edid_property(connector, edid); - num_modes = drm_add_edid_modes(connector, edid); - kfree(edid); + if (!di->color_formats) + di->color_formats = DRM_COLOR_FORMAT_RGB444; + + if (!di->bpc) + di->bpc = 8; if (num_modes > 0 && dp->split_mode) { struct drm_display_mode *mode;