]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00171383 HDMI: blank and unblank display can not resume.
authorSandor Yu <R01008@freescale.com>
Wed, 11 Jan 2012 08:42:53 +0000 (16:42 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:48 +0000 (08:33 +0200)
It cause by HDMI Blank/Unblank function not implement.
Implement the HDMI blank/unblank function.

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

index 3c9a52685d4d38042b54be0446b2b4e6615dfccc..6572c1b8e41e51001fa5cb2f032e0b6dc0a17938 100644 (file)
@@ -1404,8 +1404,14 @@ static void mxc_hdmi_phy_disable(struct mxc_hdmi *hdmi)
        if (!hdmi->phy_enabled)
                return;
 
+       /* Setting PHY to reset status */
+       hdmi_writeb(HDMI_MC_PHYRSTZ_DEASSERT, HDMI_MC_PHYRSTZ);
+
+       /* Power down PHY */
        mxc_hdmi_phy_enable_tmds(0);
        mxc_hdmi_phy_enable_power(0);
+       mxc_hdmi_phy_gen2_txpwron(0);
+       mxc_hdmi_phy_gen2_pddq(1);
 
        hdmi->phy_enabled = false;
        dev_dbg(&hdmi->pdev->dev, "%s - exit\n", __func__);
@@ -2054,10 +2060,13 @@ static int mxc_hdmi_fb_event(struct notifier_block *nb,
                        dev_dbg(&hdmi->pdev->dev,
                                "event=FB_EVENT_BLANK - UNBLANK\n");
                        mxc_hdmi_enable_pins(hdmi);
+                       if (hdmi->fb_reg && hdmi->cable_plugin)
+                               mxc_hdmi_setup(hdmi);
                } else {
                        dev_dbg(&hdmi->pdev->dev,
                                "event=FB_EVENT_BLANK - BLANK\n");
                        mxc_hdmi_disable_pins(hdmi);
+                       mxc_hdmi_phy_disable(hdmi);
                }
                break;
        }