[alsa-devel] [PATCH] ASoC: Flush Samsung DMA on free
Kukjin Kim
kgene.kim at samsung.com
Wed Sep 21 13:51:55 CEST 2011
Boojin Kim wrote:
>
>
> Mark Brown wrote:
> >
> > Ever since it was written the Samsung DMA driver has had a TODO in the
> > hw_free() function wondering if we need to flush the DMA buffers. Up
> > until
> > now the answer has been no but with the recent improvements Boojin has
> > done to the DMA infrastructure for the Samsung port the answer has
> > changed
> > to yes for at least S3C6410 systems.
> >
> > If we don't then when we next prepare() the channel the API will get
> > confused trying to run callbacks on the transfers hanging around from
> > the
> > previous time the stream was open and oops.
> >
> > Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
>
>
> Your patch give good effect to all Samsung SoCs.
> Thanks a lot.
>
> Acked-by: Boojin Kim <boojin.kim at samsung.com>
>
> > ---
> >
> > Kukjin, this should probably get added to your branch assuming it's OK
> > for other CPUs.
> >
Looks ok to me, will apply.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
> > sound/soc/samsung/dma.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/sound/soc/samsung/dma.c b/sound/soc/samsung/dma.c
> > index 851346f..2d622b6 100644
> > --- a/sound/soc/samsung/dma.c
> > +++ b/sound/soc/samsung/dma.c
> > @@ -198,10 +198,10 @@ static int dma_hw_free(struct snd_pcm_substream
> > *substream)
> >
> > pr_debug("Entered %s\n", __func__);
> >
> > - /* TODO - do we need to ensure DMA flushed */
> > snd_pcm_set_runtime_buffer(substream, NULL);
> >
> > if (prtd->params) {
> > + prtd->params->ops->flush(prtd->params->ch);
> > prtd->params->ops->release(prtd->params->ch,
> > prtd->params->client);
> > prtd->params = NULL;
> > --
> > 1.7.6.3
More information about the Alsa-devel
mailing list