Re: Re: [PATCH v5 1/5] drm: rockchip: introduce rk3066 hdmi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux