summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorMin-wuk Lee <mlee@nvidia.com>2013-09-06 17:43:06 +0900
committerGabby Lee <galee@nvidia.com>2013-10-13 16:33:47 -0700
commitee6ed3c4f8d10c4d148619dbfed13a8b9d6b2130 (patch)
tree57f5c5f52c3debdb5ce62f075e939eb0c3da8a67 /security
parente75f9f1a9c2279a312d9184f319c8e802386ac1d (diff)
tegra: video: hdmi: WAR: ensure hdcp register access with clk enabled
There is a race condition between hdcp upstream and hdmi disable during suspend/resume stress with hdmi plugged-in. WAR by making host1x/hdmi clk enabled and hdmi clk out of reset. Bug 1349507 Change-Id: I6870066358900d6f6798b3e20bc59bf5645f25b8 Original-author: Roger Hsieh <rhsieh@nvidia.com> Signed-off-by: Roger Hsieh <rhsieh@nvidia.com> Signed-off-by: Min-wuk Lee <mlee@nvidia.com> Reviewed-on: http://git-master/r/271389 (cherry picked from commit 8a2f117c4472919ec22263c858fbac1a91ee5e72) Reviewed-on: http://git-master/r/289848 Reviewed-by: Gabby Lee <galee@nvidia.com> Tested-by: Gabby Lee <galee@nvidia.com>
Diffstat (limited to 'security')
-rw-r--r--security/tf_driver/tf_device.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/security/tf_driver/tf_device.c b/security/tf_driver/tf_device.c
index 70d6a70a6244..3a10acf93b1f 100644
--- a/security/tf_driver/tf_device.c
+++ b/security/tf_driver/tf_device.c
@@ -55,6 +55,9 @@
* Forward Declarations
*----------------------------------------------------------------------------*/
+extern void tegra_hdmi_enable_clk(void);
+extern void tegra_hdmi_disable_clk(void);
+
/*
* Creates and registers the device to be managed by the specified driver.
*
@@ -743,10 +746,12 @@ static long tf_device_ioctl(struct file *file, unsigned int ioctl_num,
break;
case TF_MESSAGE_TYPE_INVOKE_CLIENT_COMMAND:
+ tegra_hdmi_enable_clk();
trace_invoke_client_command(NVSEC_INVOKE_CMD_START);
result = tf_invoke_client_command(connection,
&command, &answer);
trace_invoke_client_command(NVSEC_INVOKE_CMD_DONE);
+ tegra_hdmi_disable_clk();
break;
case TF_MESSAGE_TYPE_CANCEL_CLIENT_COMMAND: