From bc27abf53056c83760e20f84126f08c3d5040aec Mon Sep 17 00:00:00 2001 From: Tatenda Chipeperekwa Date: Fri, 15 Jan 2016 12:45:26 -0800 Subject: [PATCH] msm: mdss: hdmi: Do not toggle HPD during HDCP re-authentication Do not toggle the HPD circuitry during HDCP re-authentication as this has undesirable side effects such as failure to detect cable disconnection event. The HDCP engine already has a dedicated software interface used to reset during HDCP re-authentication. Change-Id: I76be51ea286fadabefc436613b420c4d6ac1946a Signed-off-by: Tatenda Chipeperekwa --- drivers/video/fbdev/msm/mdss_hdmi_hdcp.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c b/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c index 8ac193cfed1f..44e405b9de3e 100644 --- a/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c +++ b/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2015 The Linux Foundation. All rights reserved. +/* Copyright (c) 2010-2016 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -1363,15 +1363,6 @@ int hdmi_hdcp_reauthenticate(void *input) return 0; } - /* - * Disable HPD circuitry. - * This is needed to reset the HDCP cipher engine so that when we - * attempt a re-authentication, HW would clear the AN0_READY and - * AN1_READY bits in HDMI_HDCP_LINK0_STATUS register - */ - DSS_REG_W(io, HDMI_HPD_CTRL, DSS_REG_R(hdcp_ctrl->init_data.core_io, - HDMI_HPD_CTRL) & ~BIT(28)); - hdmi_hw_version = DSS_REG_R(io, HDMI_VERSION); if (hdmi_hw_version >= 0x30030000) { DSS_REG_W(io, HDMI_CTRL_SW_RESET, BIT(1)); @@ -1389,11 +1380,6 @@ int hdmi_hdcp_reauthenticate(void *input) /* Disable encryption and disable the HDCP block */ DSS_REG_W(io, HDMI_HDCP_CTRL, 0); - /* Enable HPD circuitry */ - DSS_REG_W(hdcp_ctrl->init_data.core_io, HDMI_HPD_CTRL, - DSS_REG_R(hdcp_ctrl->init_data.core_io, - HDMI_HPD_CTRL) | BIT(28)); - /* Restart authentication attempt */ DEV_DBG("%s: %s: Scheduling work to start HDCP authentication", __func__, HDCP_STATE_NAME);