[alsa-devel] [PATCH v3 1/3] ASoC: davinci-mcasp: Constraint on the period and buffer size based on FIFO usage
Peter Ujfalusi
peter.ujfalusi at ti.com
Tue Mar 18 14:23:33 CET 2014
On 03/18/2014 03:20 PM, Peter Ujfalusi wrote:
> We need to place constraint on the period if the read or write AFIFO
> is enabled and it is configured for more than one word otherwise
> the DMA will fail in buffer configuration where the sizes are not
> aligned with the requested FIFO configuration.
Oh, I edited the commit message and removed the text related to buffer size
but I failed to do that for the commit title :(
Mark: Do you want me to resend with fixed commit title?
--
Péter
>
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> ---
> sound/soc/davinci/davinci-mcasp.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
> index a01ae97c90aa..df067a836c4d 100644
> --- a/sound/soc/davinci/davinci-mcasp.c
> +++ b/sound/soc/davinci/davinci-mcasp.c
> @@ -720,6 +720,7 @@ static int davinci_mcasp_startup(struct snd_pcm_substream *substream,
> struct snd_soc_dai *dai)
> {
> struct davinci_mcasp *mcasp = snd_soc_dai_get_drvdata(dai);
> + int afifo_numevt;
>
> if (mcasp->version == MCASP_VERSION_4)
> snd_soc_dai_set_dma_data(dai, substream,
> @@ -727,6 +728,16 @@ static int davinci_mcasp_startup(struct snd_pcm_substream *substream,
> else
> snd_soc_dai_set_dma_data(dai, substream, mcasp->dma_params);
>
> + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
> + afifo_numevt = mcasp->txnumevt;
> + else
> + afifo_numevt = mcasp->rxnumevt;
> +
> + if (afifo_numevt > 1)
> + snd_pcm_hw_constraint_step(substream->runtime, 0,
> + SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
> + afifo_numevt);
> +
> return 0;
> }
>
>
More information about the Alsa-devel
mailing list