Hi Peter,
I had a query about a patch you provided previously for resetting SAIF1 due to recording noise.
SGTL5000 CODEC line-in noise on i.MX28
We have applied the patch except the changes to the file sound/soc/mxs/mxs-pcm.c, which remove the 'Wait untill DMA chain is finished', and reporting of the message 'Is the DMA channel dead', and it also adds a 'mxs_dma_reset' to the mxs_pmc_close call.
This patch doesn't seem to be in the freescale 2.6.35 maintain tree: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/log/?h=imx_2.6.35_maintain
and I'm wondering if it should be applied or does fix some specific issue ?
In sound/soc/mxs/mxs-dai.c
In the case of S"NDRV_PCM_TRIGGER_PAUSE_PUSH", if the stream is the capture stream then the SAIF 'RUN' bit is cleared. Is this valid behaviour ?
We are finding that at some point our SAIF1 interface halts with the RUN bit cleared, and no DMA interrupts being generated, and I was wondering if
it might be related to this ?
Also, in mxs_saif_probe, there are a series of kind of strange reset behaviour applied to the SAIF ports where
there is a series of repetitive block and clock gate reset CLEAR and SETS applied to the SAIF port, finally setting the RUN bit.
This also doesn't seem to be in the freescale git tree, and I'm wondering if there is a specific issue they are there to address ?
The sound/soc/mxs/mxs-pcm.c file has a mxs_dma_reset applied at the end of of 'mxs_pcm_close'
This behaviour isn't present in the git tree either, having been removed by the commit
3ee818d ENGR40464722-1 MX28 ALSA: wait until the DMA channel finishs
The comment in this commit mentions that resetting the DMA channel here is incorrect ?
Could you shed any light on these issues ?
Thanks,
Matt