主控:rk3399
系统:android7.1
内核版本:内核版本:4.4.126
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2533,7 +2533,9 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
connector);
struct edid *edid;
struct drm_display_mode *mode;
- const u8 def_modes[6] = {4, 16, 31, 19, 17, 2};
+// const u8 def_modes[6] = {4, 16, 31, 19, 17, 2};
+ const u8 def_modes[26] = {16, 4, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 62, 61,
+ 60, 34, 33, 32, 31, 21, 20, 19, 17, 6, 5, 2};
struct drm_display_info *info = &connector->display_info;
struct hdr_static_metadata *metedata =
&connector->display_info.hdmi.hdr_panel_metadata;
@@ -2543,6 +2545,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
return 0;
edid = drm_get_edid(connector, hdmi->ddc);
+ edid = NULL;
if (edid) {
dev_dbg(hdmi->dev, "got edid: width[%d] x height[%d]\n",
edid->width_cm, edid->height_cm);
@@ -2575,6 +2578,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
info->color_formats = 0;
dev_info(hdmi->dev, "failed to get edid\n");
+ dev_info(hdmi->dev, "No get edid, use def_modes resolution\n");
}
return ret;