From 7fdb3f85de0283bd4975339822b3bba4f18f653b Mon Sep 17 00:00:00 2001 From: Peter Zu Date: Tue, 22 Mar 2011 11:50:30 -0700 Subject: 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 Tested-by: Peter Zu Reviewed-by: Bharat Nihalani Reviewed-by: Jonathan Mayo --- drivers/video/tegra/dc/hdmi.c | 1 + drivers/video/tegra/dc/nvhdcp.c | 5 +++++ drivers/video/tegra/dc/nvhdcp.h | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3