summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPeter Zu <pzu@nvidia.com>2011-03-22 11:50:30 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-03-23 17:18:47 -0800
commit7fdb3f85de0283bd4975339822b3bba4f18f653b (patch)
treeee3f28a2ffc9c97b358355e4885009c31235bfd2 /drivers
parenta57d3dfe9c80253495a657db997e49fccd7a266b (diff)
video: tegra: dc: hdcp: renegotiate the hdcp link on resume
bug 802909 Change-Id: I061eb7082b251ef6963e2a68fd9821122e010966 Reviewed-on: http://git-master/r/23871 Reviewed-by: Peter Zu <pzu@nvidia.com> Tested-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra/dc/hdmi.c1
-rw-r--r--drivers/video/tegra/dc/nvhdcp.c5
-rw-r--r--drivers/video/tegra/dc/nvhdcp.h2
3 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 7f2ccf6331b4..a880ae103135 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -569,6 +569,7 @@ static void tegra_dc_hdmi_resume(struct tegra_dc *dc)
hdmi->hpd_pending = false;
}
spin_unlock_irqrestore(&hdmi->suspend_lock, flags);
+ tegra_nvhdcp_resume(hdmi->nvhdcp);
}
static int tegra_dc_hdmi_init(struct tegra_dc *dc)
diff --git a/drivers/video/tegra/dc/nvhdcp.c b/drivers/video/tegra/dc/nvhdcp.c
index 7bbe6741be45..388da8cb05f7 100644
--- a/drivers/video/tegra/dc/nvhdcp.c
+++ b/drivers/video/tegra/dc/nvhdcp.c
@@ -1069,6 +1069,11 @@ void tegra_nvhdcp_suspend(struct tegra_nvhdcp *nvhdcp)
tegra_nvhdcp_off(nvhdcp);
}
+void tegra_nvhdcp_resume(struct tegra_nvhdcp *nvhdcp)
+{
+ if (!nvhdcp) return;
+ tegra_nvhdcp_renegotiate(nvhdcp);
+}
static long nvhdcp_dev_ioctl(struct file *filp,
unsigned int cmd, unsigned long arg)
diff --git a/drivers/video/tegra/dc/nvhdcp.h b/drivers/video/tegra/dc/nvhdcp.h
index 9b898252d534..32d171c68b6b 100644
--- a/drivers/video/tegra/dc/nvhdcp.h
+++ b/drivers/video/tegra/dc/nvhdcp.h
@@ -22,8 +22,8 @@ struct tegra_nvhdcp;
void tegra_nvhdcp_set_plug(struct tegra_nvhdcp *nvhdcp, bool hpd);
int tegra_nvhdcp_set_policy(struct tegra_nvhdcp *nvhdcp, int pol);
void tegra_nvhdcp_suspend(struct tegra_nvhdcp *nvhdcp);
+void tegra_nvhdcp_resume(struct tegra_nvhdcp *nvhdcp);
struct tegra_nvhdcp *tegra_nvhdcp_create(struct tegra_dc_hdmi_data *hdmi,
int id, int bus);
void tegra_nvhdcp_destroy(struct tegra_nvhdcp *nvhdcp);
-
#endif