On Mon, 2010-06-14 at 11:44 +0530, Sudhakar Rajashekhara wrote: > On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral > has FIFO support. This FIFO provides additional data buffering. It > also provides tolerance to variation in host/DMA controller response > times. More details of the FIFO operation can be found at > > http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sprufm1&fileType=pdf > > Existing sequence of steps for audio playback/capture are: > a. DMA configuration > b. McASP configuration (configures and enables FIFO) > c. Start DMA > d. Start McASP (enables FIFO) > > During McASP configuration, while FIFO was being configured, FIFO > was being enabled in davinci_hw_common_param() function of > sound/soc/davinci/davinci-mcasp.c file. This generated a transmit > DMA event, which gets serviced when DMA is started. > > https://patchwork.kernel.org/patch/84611/ patch clears the DMA > events before starting DMA, which is the right thing to do. But > this resulted in a state where DMA was waiting for an event from > McASP (after step c above), but the event which was already there, > has got cleared (because of step b above). > > The fix is not to enable the FIFO during McASP configuration as > FIFO was being enabled as part of McASP start. > > Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@xxxxxx> Acked-by: Liam Girdwood <lrg@xxxxxxxxxxxxxxx> -- Freelance Developer, SlimLogic Ltd ASoC and Voltage Regulator Maintainer. http://www.slimlogic.co.uk _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel