[alsa-devel] [PATCH] ASoC:core:add flag ignore_pmdown_time in snd_soc_dai_link

Girdwood, Liam lrg at ti.com
Thu Oct 27 11:11:37 CEST 2011


On 27 October 2011 07:28,  <ramesh.babu at linux.intel.com> wrote:
> With this flag, each dai_link in machine driver can choose
> to ignore pmdown_time during DAPM shut down sequence.
>
> If the ignore_pmdown_time is set, the DAPM for corresponding DAI
> will be executed immediately.
>
> Signed-off-by: Ramesh Babu K V <ramesh.babu at linux.intel.com>
> Signed-off-by: Vinod Koul <vinod.koul at linux.intel.com>
> ---
>  include/sound/soc.h |    3 +++
>  sound/soc/soc-pcm.c |    3 ++-
>  2 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/include/sound/soc.h b/include/sound/soc.h
> index 11cfb59..877fcc1 100644
> --- a/include/sound/soc.h
> +++ b/include/sound/soc.h
> @@ -718,6 +718,9 @@ struct snd_soc_dai_link {
>        /* Symmetry requirements */
>        unsigned int symmetric_rates:1;
>
> +       /* pmdown_time is ignored at stop */
> +       unsigned int ignore_pmdown_time:1;
> +
>        /* codec/machine specific init - e.g. add machine controls */
>        int (*init)(struct snd_soc_pcm_runtime *rtd);
>
> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> index ee15337..52a7259 100644
> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -319,7 +319,8 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
>        cpu_dai->runtime = NULL;
>
>        if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
> -               if (unlikely(codec->ignore_pmdown_time)) {
> +               if (unlikely(codec->ignore_pmdown_time ||
> +                       rtd->dai_link->ignore_pmdown_time)) {
>                        /* powered down playback stream now */
>                        snd_soc_dapm_stream_event(rtd,
>                                codec_dai->driver->playback.stream_name,
> --
> 1.7.4.1
>
>

This looks fine by me. Peter, does this work for you ?

if so,

Acked-by: Liam Girdwood <lrg at ti.com>


More information about the Alsa-devel mailing list