[alsa-devel] [PATCH 2/2] ASoC: OMAP: reconfigure DMA to resume audio

Jarkko Nikula jhnikula at gmail.com
Sat Nov 14 09:36:28 CET 2009


Hi

On Fri, 13 Nov 2009 12:02:03 -0600
Jane Wang <jwang at ti.com> wrote:

> Reconfigure DMA transfer parameters to resume audio after system comming out of OFF state.
> 
> Signed-off-by: Jane Wang <jwang at ti.com>
> ---
>  sound/soc/omap/omap-pcm.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
> index 6a829ee..5e04390 100644
> --- a/sound/soc/omap/omap-pcm.c
> +++ b/sound/soc/omap/omap-pcm.c
> @@ -215,8 +215,13 @@ static int omap_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
>  
>  	spin_lock_irqsave(&prtd->lock, flags);
>  	switch (cmd) {
> -	case SNDRV_PCM_TRIGGER_START:
>  	case SNDRV_PCM_TRIGGER_RESUME:
> +		/* Reconfigure DMA transfer parameters
> +		 * in order to come back from OFF mode
> +		 */
> +		omap_pcm_prepare(substream);
> +		/* fall through */

Again looks simple workaround for the audio case for restoring the
DMA context but how about all other DMA clients if the low-level DMA
module expects that the clients must do the context restore?

I'm not the PM expert but I think only need for PM in omap-pcm.c or
omap-mcbsp.c would be to dealing with possible suspend/resume order not
to bring up the low-level module back alive.


-- 
Jarkko


More information about the Alsa-devel mailing list