summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorSandor Yu <R01008@freescale.com>2012-05-29 16:54:13 +0800
committerJason Liu <r64343@freescale.com>2012-07-20 13:38:15 +0800
commit25033dc50af0c6171dc5e71d694781520ddb771a (patch)
treef87c0b3995e540f57474dc1512a258f8e00e0616 /sound
parentda8e618a6636365f60d7a062e3ae9100521f9fe7 (diff)
ENGR00178461-02 HDMI1080p: hotplug cause kernel panic. 10%
It is a warning cause by HDMI driver irq enable count mismatch. The purpose of maintain HDMI irq count is to disable hdmi_iahb_clk when HDMI cable plugout. But hdmi_iahb_clk parent ahb clock is always enabled when system run, so hdmi_iabh_clk power consumption is very low. The function clk_get_usecount introduce by irq count maintain is not safety in SMP. Remove HDMI irq count in HDMI driver, keep hdmi_iahb_clk always run. and disable hdmi_iahb_clk and hdmi_isfr_clk when FB Blank. Signed-off-by: Sandor Yu <R01008@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/imx/imx-hdmi-dma.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/sound/soc/imx/imx-hdmi-dma.c b/sound/soc/imx/imx-hdmi-dma.c
index d391267c108b..f0545f6b6ef2 100644
--- a/sound/soc/imx/imx-hdmi-dma.c
+++ b/sound/soc/imx/imx-hdmi-dma.c
@@ -946,7 +946,6 @@ static void hdmi_dma_irq_enable(struct imx_hdmi_dma_runtime_data *rtd)
spin_lock_irqsave(&hdmi_dma_priv->irq_lock, flags);
hdmi_dma_clear_irq_status(0xff);
- hdmi_irq_enable(hdmi_dma_priv->irq);
hdmi_dma_irq_mute(0);
hdmi_dma_irq_mask(0);
@@ -964,7 +963,6 @@ static void hdmi_dma_irq_disable(struct imx_hdmi_dma_runtime_data *rtd)
hdmi_dma_irq_mask(1);
hdmi_dma_irq_mute(1);
- hdmi_irq_disable(rtd->irq);
hdmi_dma_clear_irq_status(0xff);
hdmi_mask(1);
@@ -1131,9 +1129,6 @@ static int __devinit imx_soc_platform_probe(struct platform_device *pdev)
hdmi_dma_init_iec_header();
- /* Initialize IRQ at HDMI core level */
- hdmi_irq_init();
-
hdmi_dma_priv->isfr_clk = clk_get(&pdev->dev, "hdmi_isfr_clk");
if (IS_ERR(hdmi_dma_priv->isfr_clk)) {
ret = PTR_ERR(hdmi_dma_priv->isfr_clk);