Griffis, Brad wrote:
My test is simply to run aplay or speaker-test,
then quit and run it again. The first run is audible, the second and
subsequent runs are not audible until I provide a manual DMA event trigger.
When the ASP transmitter is taken out of reset it sends XEVT to the EDMA where it is
"captured" in event register (ER). If that event gets cleared out before
turning on the EDMA you'll end up with a scenario like you described, i.e. once you kick
off a transfer manually it will then run. I haven't looked at the code you're using, but
it sounds to me like the (re-)initialization sequence isn't correct.
The best way for the code to work would be for the EDMA to be configured BEFORE
the McBSP. That way, even if the EDMA initialization procedure clears the ER
bits it won't matter because when the McBSP is subsequently released from reset
it will send a new XEVT to the EDMA.
Brad
Excellent tip, but the ASoC software is doing just what you
suggested, starting the DMA prior to starting the ASP. I also found
that the latest DMA software also causes buffer underruns when
playing Ogg Vorbis files, while the 2.6.25 version doesn't have
these issues. I'll keep looking.
Thanks,
Mark
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source