MLK-11992: MX6 HDMI: Active HDCP keepout window when HDCP enable
authorSandor Yu <R01008@freescale.com>
Fri, 11 Dec 2015 07:57:16 +0000 (15:57 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:29 +0000 (14:49 -0500)
When HDCP running in repeater mode,
HDCP software workaround "HW_WA_HDCP_DC0" is working in
HDCP keepout window stop state.
It will cause HDCP compliance test 1B-01A failed.
So active HDCP keepout widows and 1B-01A is passed.

Signed-off-by: Sandor Yu <R01008@freescale.com>
drivers/video/fbdev/mxc/mxc_hdmi.c
include/video/mxc_hdmi.h

index ab87b47..c1b5126 100644 (file)
@@ -1436,7 +1436,11 @@ static void hdmi_av_composer(struct mxc_hdmi *hdmi)
        dev_dbg(&hdmi->pdev->dev, "final pixclk = %d\n", vmode->mPixelClock);
 
        /* Set up HDMI_FC_INVIDCONF */
-       inv_val = (vmode->mVSyncPolarity ?
+       inv_val = (hdmi->hdmi_data.hdcp_enable ?
+                       HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE :
+                       HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE);
+
+       inv_val |= (vmode->mVSyncPolarity ?
                HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH :
                HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW);
 
index 73c3899..79eb302 100644 (file)
@@ -667,6 +667,9 @@ enum {
        HDMI_VP_REMAP_YCC422_16bit = 0x0,
 
 /* FC_INVIDCONF field values */
+       HDMI_FC_INVIDCONF_HDCP_KEEPOUT_MASK = 0x80,
+       HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE = 0x80,
+       HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE = 0x00,
        HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_MASK = 0x40,
        HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_HIGH = 0x40,
        HDMI_FC_INVIDCONF_VSYNC_IN_POLARITY_ACTIVE_LOW = 0x00,