[alsa-devel] [PATCH] ASoC: samsung dma - prepare dma in start/resume trigger path

Dylan Reid dgreid at chromium.org
Fri Aug 24 03:52:10 EDT 2012


On Fri, Aug 24, 2012 at 12:41 AM, Sangbeom Kim <sbkim73 at samsung.com> wrote:
> Hi!
>
> On Thu, Aug 24, 2012 at 5:51 AM, Dylan Reid wrote:
>> On suspend all dma transactions are terminated (by the stop/suspend
>> trigger calling ops->stop), they need to be set up again during resume.
>> Move the prepare op to the start/resume/unpause trigger path so that dma
>> and audio will restart on resume/unpause.
> Do you mean that currently, suspend/resume can't be supported?

Yes. Currently, if I suspend while playing, after resume it won't work
until I close and reopen the device.  the call to snd_pcm_resume is
not indicating an error, but a write error comes from snd_pcm_write a
little later.

The suspend trigger calls ops->stop, which in turn sends
DMA_TERMINATE_ALL to the pl330.  I think this causes resume's call to
ops->trigger to fail because there is nothing enqueued, but I'm pretty
new to this system.

Thanks for the help!

Dylan

>
> Thanks,
> Sangbeom.
>



More information about the linux-arm-kernel mailing list