Browse Source

ASoC: generic-dmaengine-pcm: Set BATCH flag when residue reporting is not supported

For dmaengine drivers which do not support transfer residue reporting we update
the PCM pointer with period granularity. Set the SNDRV_PCM_INFO_BATCH flag in
this case to let userspace know about this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Lars-Peter Clausen 11 years ago
parent
commit
a22f33b003
1 changed files with 3 additions and 0 deletions
  1. 3 0
      sound/soc/soc-generic-dmaengine-pcm.c

+ 3 - 0
sound/soc/soc-generic-dmaengine-pcm.c

@@ -137,6 +137,9 @@ static int dmaengine_pcm_set_runtime_hwparams(struct snd_pcm_substream *substrea
 	hw.buffer_bytes_max = SIZE_MAX;
 	hw.fifo_size = dma_data->fifo_size;
 
+	if (pcm->flags & SND_DMAENGINE_PCM_FLAG_NO_RESIDUE)
+		hw.info |= SNDRV_PCM_INFO_BATCH;
+
 	ret = dma_get_slave_caps(chan, &dma_caps);
 	if (ret == 0) {
 		if (dma_caps.cmd_pause)