diff options
| author | Sandor Yu <R01008@freescale.com> | 2012-01-11 16:42:53 +0800 |
|---|---|---|
| committer | Jason Liu <r64343@freescale.com> | 2012-01-19 12:41:30 +0800 |
| commit | 33d5e1fd472147efd1bfd7b9501e2e176008ba55 (patch) | |
| tree | 17765936890b83d1ea5dc191268ab6297c8a4b72 | |
| parent | 6b5c5a07e6f7abb7cb213c119fca1455d93befa1 (diff) | |
ENGR00171383 HDMI: blank and unblank display can not resume.
It cause by HDMI Blank/Unblank function not implement.
Implement the HDMI blank/unblank function.
Signed-off-by: Sandor Yu <R01008@freescale.com>
| -rw-r--r-- | drivers/video/mxc_hdmi.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c index 3c9a52685d4d..6572c1b8e41e 100644 --- a/drivers/video/mxc_hdmi.c +++ b/drivers/video/mxc_hdmi.c @@ -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; } |
