summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahul Sharma <rahsha@codeaurora.org>2018-03-23 11:33:42 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-03-27 22:01:10 -0700
commitb86526c85ec6850a73d5ee49071fc31b6b857e10 (patch)
treee8f34f22ffd6d59571acaefdc276822766da031e
parenta56e768ca3bf5a8484dc28d173984f3960307bdf (diff)
drm/msm: check hpd_off flag only for pluggable displays
This change will wrap the 'hpd_off' flag with pluggable displays. In non-pluggable display case 'hpd_off' flag prevents disabling of HPD clocks and hence display subsystem doesn't got into suspend state. Change-Id: I28ade8fb60a60a15f1d23009de63bbf9f10c7c77 Signed-off-by: Rahul Sharma <rahsha@codeaurora.org> Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
-rw-r--r--drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c b/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c
index 4769f1333ab4..21b89663a9c3 100644
--- a/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c
+++ b/drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c
@@ -1339,7 +1339,8 @@ static int _sde_hdmi_hpd_enable(struct sde_hdmi *sde_hdmi)
HDMI_HPD_CTRL_ENABLE | hpd_ctrl);
spin_unlock_irqrestore(&hdmi->reg_lock, flags);
- hdmi->hpd_off = false;
+ if (!sde_hdmi->non_pluggable)
+ hdmi->hpd_off = false;
SDE_DEBUG("enabled hdmi hpd\n");
return 0;
@@ -1401,7 +1402,7 @@ static void _sde_hdmi_hpd_disable(struct sde_hdmi *sde_hdmi)
int i, ret = 0;
unsigned long flags;
- if (hdmi->hpd_off) {
+ if (!sde_hdmi->non_pluggable && hdmi->hpd_off) {
pr_warn("hdmi display hpd was already disabled\n");
return;
}
@@ -1432,7 +1433,9 @@ static void _sde_hdmi_hpd_disable(struct sde_hdmi *sde_hdmi)
pr_warn("failed to disable hpd regulator: %s (%d)\n",
config->hpd_reg_names[i], ret);
}
- hdmi->hpd_off = true;
+
+ if (!sde_hdmi->non_pluggable)
+ hdmi->hpd_off = true;
SDE_DEBUG("disabled hdmi hpd\n");
}