]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00171052 mxc hdmi: fix HDMI CSC clock setting
authorSandor Yu <R01008@freescale.com>
Thu, 29 Dec 2011 08:25:51 +0000 (16:25 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:44 +0000 (08:33 +0200)
Move HDMI csc clock setting to fucntion mxc_hdmi_enable_video_path.

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

index 46d93efb631ee4b79f9f57f3edf5808da4528270..e73ec4508ca78ce4dc395f332506f53cb7ccfa96 100644 (file)
@@ -826,7 +826,7 @@ static void mxc_hdmi_phy_sel_interface_control(u8 enable)
 static int hdmi_phy_configure(struct mxc_hdmi *hdmi, unsigned char pRep,
                              unsigned char cRes, int cscOn)
 {
-       u8 val, clkdis;
+       u8 val;
 
        dev_dbg(&hdmi->pdev->dev, "%s\n", __func__);
 
@@ -839,6 +839,7 @@ static int hdmi_phy_configure(struct mxc_hdmi *hdmi, unsigned char pRep,
        else if (cRes != 8 && cRes != 12)
                return false;
 
+       /* Enable csc path */
        if (cscOn)
                val = HDMI_MC_FLOWCTRL_FEED_THROUGH_OFF_CSC_IN_PATH;
        else
@@ -846,13 +847,6 @@ static int hdmi_phy_configure(struct mxc_hdmi *hdmi, unsigned char pRep,
 
        hdmi_writeb(val, HDMI_MC_FLOWCTRL);
 
-       /* Enable csc path */
-       if (cscOn) {
-               clkdis = hdmi_readb(HDMI_MC_CLKDIS);
-               clkdis &= ~HDMI_MC_CLKDIS_CSCCLK_DISABLE;
-               hdmi_writeb(clkdis, HDMI_MC_CLKDIS);
-       }
-
        /* gen2 tx power off */
        mxc_hdmi_phy_gen2_txpwron(0);
 
@@ -1438,6 +1432,12 @@ static void mxc_hdmi_enable_video_path(struct mxc_hdmi *hdmi)
 
        clkdis &= ~HDMI_MC_CLKDIS_TMDSCLK_DISABLE;
        hdmi_writeb(clkdis, HDMI_MC_CLKDIS);
+
+       /* Enable csc path */
+       if (isColorSpaceConversion(hdmi)) {
+               clkdis &= ~HDMI_MC_CLKDIS_CSCCLK_DISABLE;
+               hdmi_writeb(clkdis, HDMI_MC_CLKDIS);
+       }
 }
 
 static void hdmi_enable_audio_clk(struct mxc_hdmi *hdmi)