summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/hdmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/tegra/dc/hdmi.c')
-rw-r--r--drivers/video/tegra/dc/hdmi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 225d48ab15ee..e5e6fff7eb46 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -1430,6 +1430,10 @@ static bool tegra_dc_hdmi_detect(struct tegra_dc *dc)
err = tegra_edid_get_monspecs(hdmi->edid, &specs);
}
if (err < 0) {
+ /*
+ * this check is basically senseless now due to us always
+ * providing at least one fallback mode through modedb
+ */
if (dc->out->n_modes)
tegra_dc_enable(dc);
else {
@@ -1458,6 +1462,9 @@ static bool tegra_dc_hdmi_detect(struct tegra_dc *dc)
return true;
fail:
+ /* disable upon boot disconnected as well as upon later disconnect */
+ if (dc->enabled)
+ tegra_dc_disable(dc);
hdmi->eld_retrieved = false;
#ifdef CONFIG_SWITCH
switch_set_state(&hdmi->hpd_switch, 0);