[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