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.
Signed-off-by: Dylan Reid <redacted>
---
sound/soc/samsung/dma.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
On Thu, Aug 23, 2012 at 1:51 PM, Dylan Reid [off-list ref] wrote:
quoted hunk
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.
Signed-off-by: Dylan Reid <redacted>
---
sound/soc/samsung/dma.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
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.
TRIGGER_RESUME must restart the stream at the buffer position at which
it was suspended. If the driver is not capable of that, it must not
support TRIGGER_SUSPEND/RESUME in the first place (i.e., remove
SNDRV_PCM_INFO_RESUME).
Regards,
Clemens
From: Sangbeom Kim <hidden> Date: 2012-08-24 07:41:32
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?
Thanks,
Sangbeom.
On Fri, Aug 24, 2012 at 12:41 AM, Sangbeom Kim [off-list ref] wrote:
Hi!
On Thu, Aug 24, 2012 at 5:51 AM, Dylan Reid wrote:
quoted
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
From: Sangbeom Kim <hidden> Date: 2012-08-24 10:06:52
On Thu, Aug 24, 2012 at 4:52 PM, Dylan Reid wrote:
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.
Ok,
Please let me know your test environment.
Thanks,
Sangbeom.
On Fri, Aug 24, 2012 at 3:06 AM, Sangbeom Kim [off-list ref] wrote:
On Thu, Aug 24, 2012 at 4:52 PM, Dylan Reid wrote:
quoted
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.
Ok,
Please let me know your test environment.
I'm using a 5250 evaluation board with a max98095 codec.