HDMI hardware fix: signal of HDMI DMA DONE is hard connected to SDMA
event line. SDMA event is triggered by edge. If the HDMI DMA done is
already 1 before start, there would be no SDMA event being trigged after
HDMI generates another HDMI DONE signal.
In this patch, clear HDMI DONE bit before start HDMI audio DMA.
Signed-off-by: Chen Liangjun <b36089@freescale.com>
struct snd_pcm_runtime *runtime = substream->runtime;
struct imx_hdmi_dma_runtime_data *rtd = runtime->private_data;
unsigned long offset, count, space_to_end, appl_bytes;
+ unsigned int status;
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
hdmi_fifo_reset();
udelay(1);
+ status = hdmi_dma_get_irq_status();
+ hdmi_dma_clear_irq_status(status);
+
hdmi_dma_priv->tx_active = true;
hdmi_dma_start();
hdmi_dma_irq_mask(0);