summaryrefslogtreecommitdiff
path: root/sound/soc/imx/imx-hdmi-dma.c
diff options
context:
space:
mode:
authorChen Liangjun <b36089@freescale.com>2012-09-13 21:28:11 +0800
committerJason Liu <r64343@freescale.com>2012-09-14 00:56:25 +0800
commiteaaf30efdc8dfeb03418bde1499a76c9903bd211 (patch)
tree87f261c7c15dd9ed1293e8532699789ea1ca54ba /sound/soc/imx/imx-hdmi-dma.c
parent9bba02d47489f2455bae09815b779bdc494efabb (diff)
ENGR00224245 HDMI AUDIO: stop/start PCM while unplug,blank/plug, unblankrel_imx_3.0.35_12.09.013.0-imx6-12.09.01-201209132128
When unplug, blank happens, HDMI audio can't play properly. So in driver, audio pcm would be disconnected when event above happens. However, pulse audio can't process disconnect event properly and if an blank or unplug event happens, HDMI sink would lost and can't be back again. In this patch, instead of disconnecting audio PCM stream, triggering stop audio pcm while unplug and blank, triggering start again while plug and unblank if the audio pcm is triggerd stop in the unplug/blank event. Signed-off-by: Chen Liangjun <b36089@freescale.com>
Diffstat (limited to 'sound/soc/imx/imx-hdmi-dma.c')
-rw-r--r--sound/soc/imx/imx-hdmi-dma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/imx/imx-hdmi-dma.c b/sound/soc/imx/imx-hdmi-dma.c
index ab0207a428d0..74d45558c97d 100644
--- a/sound/soc/imx/imx-hdmi-dma.c
+++ b/sound/soc/imx/imx-hdmi-dma.c
@@ -1115,6 +1115,8 @@ static int hdmi_dma_trigger(struct snd_pcm_substream *substream, int cmd)
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+ if (!check_hdmi_state())
+ return 0;
rtd->frame_idx = 0;
if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) {
appl_bytes = frames_to_bytes(runtime,