Hi, On Heiko's request the function rk3066_hdmi_connector_get_modes() was made equel to the inno driver. The variable "sink_is_hdmi" now only changes with valid edid. What happens if we plug in a device with valid hdmi video and then with something wrong with edid then "sink_is_hdmi" never turns false. Shouldn't we add an extra statement in this and in the inno driver that makes sure that "sink_is_hdmi" is false in all other cases? Please advise. +static int rk3066_hdmi_connector_get_modes(struct drm_connector *connector) +{ + struct rk3066_hdmi *hdmi = to_rk3066_hdmi(connector); + struct edid *edid; + int ret = 0; + + if (!hdmi->ddc) + return 0; + Add extra statement here: hdmi->hdmi_data.sink_is_hdmi = false; + edid = drm_get_edid(connector, hdmi->ddc); + if (edid) { + hdmi->hdmi_data.sink_is_hdmi = drm_detect_hdmi_monitor(edid); + drm_connector_update_edid_property(connector, edid); + ret = drm_add_edid_modes(connector, edid); + kfree(edid); + } + + return ret; +} _______________________________________________ Linux-rockchip mailing list Linux-rockchip@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-rockchip