summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsharath sarangpur <ssarangpur@nvidia.com>2013-06-21 15:57:48 -0700
committerMatthew Pedro <mapedro@nvidia.com>2013-07-11 12:31:58 -0700
commit6edbb9b47bfe3717711f382ee17b35181302a9c0 (patch)
tree96ab886daffddc3b6ad12caadcb4ee33742ef1f1
parent4d7ee9988ffaf7addd462285544dd4ef78bc0c7c (diff)
video: tegra: dc: hdmi: call tegra_dc_hpd in tegra_hdmi_hotplug_signal
Call tegra_hotplug_signal to queue deferred work after a delay of 30ms and call gpio_get_value in tegra_dc_hpd bug 1298680 Change-Id: I7e1c15c1445116b4f6400708335590ea6e2d5d0b Signed-off-by: sharath sarangpur <ssarangpur@nvidia.com> Reviewed-on: http://git-master/r/241136 (cherry picked from commit a05fe127fde8c6b77aa686248c6bd8387642aa43) Reviewed-on: http://git-master/r/247366 Tested-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
-rw-r--r--drivers/video/tegra/dc/dc.c2
-rw-r--r--drivers/video/tegra/dc/hdmi.c14
2 files changed, 8 insertions, 8 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 7145fcf2edb1..7612e4d266bf 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -750,7 +750,7 @@ bool tegra_dc_hpd(struct tegra_dc *dc)
if (dc->out->hotplug_state == -1) /* force off */
return false;
}
- level = gpio_get_value_cansleep(dc->out->hotplug_gpio);
+ level = gpio_get_value(dc->out->hotplug_gpio);
sense = dc->out->flags & TEGRA_DC_OUT_HOTPLUG_MASK;
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 14eca2f7afcc..e14cda61a3d7 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -440,10 +440,16 @@ static inline void tegra_hdmi_clrsetbits(struct tegra_dc_hdmi_data *hdmi,
tegra_hdmi_writel(hdmi, val, reg);
}
+static bool tegra_dc_hdmi_hpd(struct tegra_dc *dc)
+{
+ return tegra_dc_hpd(dc);
+}
+
static inline void tegra_hdmi_hotplug_signal(struct tegra_dc_hdmi_data *hdmi)
{
+ tegra_dc_hpd(hdmi->dc);
queue_delayed_work(system_nrt_wq, &hdmi->work,
- msecs_to_jiffies(100));
+ msecs_to_jiffies(30));
}
/* disables hotplug IRQ - this must be balanced */
@@ -808,12 +814,6 @@ static bool tegra_dc_hdmi_mode_filter(const struct tegra_dc *dc,
return true;
}
-static bool tegra_dc_hdmi_hpd(struct tegra_dc *dc)
-{
- return tegra_dc_hpd(dc);
-}
-
-
void tegra_dc_hdmi_detect_config(struct tegra_dc *dc,
struct fb_monspecs *specs)
{