summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorSandeep Panda <spanda@codeaurora.org>2014-04-29 11:50:09 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:29:37 -0700
commitb192b2158dd0ba8b023b4f6ebe71e0196f9bd7b0 (patch)
tree6a76716cd13fac23f969c0af9f92779ca8479422 /drivers/video/fbdev
parentff2167526c5fe1623bfe331ec99c2bafe64fe75d (diff)
msm: mdss: hdmi: Fix HDCP ddc clean up wait time
With existing implementation the check for ddc hardware not ready always fails because of incorrect logic and driver always waits for 2 seconds even if there is no pending hardware ddc transaction. Fix this by waiting only for the time ddc transactions are underway. Change-Id: Ic8396200d5d078d604ba3b4414d41644b455c103 Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_hdmi_hdcp.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c b/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c
index f3889fd2beec..07b92a0fed3c 100644
--- a/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c
+++ b/drivers/video/fbdev/msm/mdss_hdmi_hdcp.c
@@ -186,11 +186,11 @@ static void hdmi_hdcp_hw_ddc_clean(struct hdmi_hdcp_ctrl *hdcp_ctrl)
do {
hdcp_ddc_status = DSS_REG_R(io, HDMI_HDCP_DDC_STATUS);
ddc_hw_status = DSS_REG_R(io, HDMI_DDC_HW_STATUS);
- ddc_xfer_done = (hdcp_ddc_status & BIT(10)) ;
- ddc_xfer_req = (hdcp_ddc_status & BIT(4)) ;
- ddc_hw_done = (ddc_hw_status & BIT(3)) ;
- ddc_hw_not_ready = ((ddc_xfer_done != 1) ||
- (ddc_xfer_req != 0) || (ddc_hw_done != 1));
+ ddc_xfer_done = hdcp_ddc_status & BIT(10);
+ ddc_xfer_req = hdcp_ddc_status & BIT(4);
+ ddc_hw_done = ddc_hw_status & BIT(3);
+ ddc_hw_not_ready = !ddc_xfer_done ||
+ ddc_xfer_req || !ddc_hw_done;
DEV_DBG("%s: %s: timeout count(%d):ddc hw%sready\n",
__func__, HDCP_STATE_NAME, timeout_count,