On 06/05/17 14:58, Hans Verkuil wrote: > My assumption was that hdmi_display_disable() was called when the hotplug would go > away. But I discovered that that isn't the case, or at least not when X is running. > It seems that the actual HPD check is done in hdmic_detect() in > omapdrm/displays/connector-hdmi.c. For some HW it's done there (in the case there's no IP handling the HPD), but in some cases it's done in tpd12s015 driver (e.g. pandaboard), and in some cases it also could be done in the hdmi driver (if the HPD is handled by the HDMI IP, but at the moment we don't have this case supported in the SW). > But there I have no access to hdmi.core (needed for the hdmi4_cec_set_phys_addr() call). > > Any idea how to solve this? I am not all that familiar with drm, let alone omapdrm, > so if you can point me in the right direction, then that would be very helpful. Hmm, indeed, looks the the output is kept enabled even if HPD drops and the connector status is changed to disconnected. I don't have a very good solution... I think we have to add a function to omapdss_hdmi_ops, which the connector-hdmi and tpd12s015 drivers can call when they detect a HPD change. That call would go to the HDMI IP driver. Peter is about to send hotplug-interrupt-handling series, I think the HPD function work should be done on top of that, as otherwise it'll just conflict horribly. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature