summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2017-08-17 15:19:57 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-10-12 10:49:14 +0300
commit019114efd9bb21594c36a5fbdab34a004dfb0a79 (patch)
tree59a72da60253bb5674216a7e77d2be08fe7d96e5 /drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
parent1897e1a394c3a54a86dd46656e96d58e135033db (diff)
omapdrm: omapdss_hdmi_ops: add lost_hotplug op
The CEC framework needs to know when the hotplug detect signal disappears, since that means the CEC physical address has to be invalidated (i.e. set to f.f.f.f). Add a lost_hotplug op that is called when the HPD signal goes away. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/displays/connector-hdmi.c')
-rw-r--r--drivers/gpu/drm/omapdrm/displays/connector-hdmi.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
index d9d25df6fc1b..4600d3841c25 100644
--- a/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
+++ b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
@@ -165,11 +165,15 @@ static bool hdmic_detect(struct omap_dss_device *dssdev)
{
struct panel_drv_data *ddata = to_panel_data(dssdev);
struct omap_dss_device *in = ddata->in;
+ bool connected;
if (gpio_is_valid(ddata->hpd_gpio))
- return gpio_get_value_cansleep(ddata->hpd_gpio);
+ connected = gpio_get_value_cansleep(ddata->hpd_gpio);
else
- return in->ops.hdmi->detect(in);
+ connected = in->ops.hdmi->detect(in);
+ if (!connected && in->ops.hdmi->lost_hotplug)
+ in->ops.hdmi->lost_hotplug(in);
+ return connected;
}
static int hdmic_register_hpd_cb(struct omap_dss_device *dssdev,