"Sudhakar Rajashekhara" <[email protected]> writes: > Hi, > > On Sat, Jun 05, 2010 at 02:05:50, Brian Niebuhr wrote: >> > >> >> This patch causes that the sound can not work normally >> > on OMAP_L138. >> > >> <snip> >> > >> After revert it, the audio works fine. >> > >> >> > > >> > > This patch works fine on DM644x which has McBSP but breaks >> > audio on OMAP L138 >> > > (as you had mentioned) which has McASP. Ideally McBSP/McASP >> > should start after >> > > EDMA is started. If not then this patch clears the EDMA >> > event which is actually >> > > set by McBSP/McASP. As this patch is working fine on >> > DM644x, I think there is >> > > some issue in the audio driver which needs to be debugged. >> > >> > In the mean time, I think it makes sense to revert $SUBJECT patch in >> > davinci git until the audio driver is debugged. >> >> Kevin - >> >> What is the process or timeline for getting this patch reapplied? I am >> working right now on resubmitting my patch for the Davinci SPI driver, >> however that driver won't work as is without this patch. I could >> probably hack something into the SPI driver to compensate, however if >> all are agreed that drivers shouldn't rely on DMA events that occur >> before the DMA is started, then it seems better to handle the issue in >> the DMA driver as I did in the reverted patch.
[absentee maintainer re-surfaces after travel and some time off... sorry for the delays.] I'll be adding (back) your original patch as Sudhakar has found and fixed the root cause. > > I debugged this further today and I noticed that the issue of audio not > playing was observed only on DA830 and DA850 but not on DM6467 which also > has McASP. The only difference between McASP present on DM6467 and DA8XX > was hardware FIFO support. So when I disabled hardware FIFO on DA8XX devices, > even with this patch, audio started working correctly. Debugging further, I > found that, after doing FIFO configurations, FIFO was being enabled in > davinci_hw_common_param() function of sound/soc/davinci/davinci-mcasp.c file. > This was causing an extra McASP EDMA event to occur which was getting cleared > during edma_start(). This resulted in a state where EDMA was waiting for an > EDMA event from McASP, but the event which was already there, had got cleared. > Following patch fixes this issue. Sudhakar, Thanks for finding and fixing the root cause. Kevin _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
