summaryrefslogtreecommitdiffstats
path: root/sound/soc/au1x/dma.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-12-10 15:25:53 +0100
committerMark Brown <broonie@kernel.org>2019-12-11 16:43:18 +0000
commitfe9912ac58e4fa205faabcccc980eb834cc5f1aa (patch)
treea9eab86f377ff3fbc62ae9993539fbd6091c5c5a /sound/soc/au1x/dma.c
parenta4072cdfa9fe79adcd41320355847e77de22baf0 (diff)
downloadlinux-fe9912ac58e4fa205faabcccc980eb834cc5f1aa.tar.gz
linux-fe9912ac58e4fa205faabcccc980eb834cc5f1aa.tar.bz2
linux-fe9912ac58e4fa205faabcccc980eb834cc5f1aa.zip
ASoC: au1x: Use managed buffer allocation
Clean up the drivers with the new managed buffer allocation API. The superfluous snd_pcm_lib_malloc_pages() and snd_pcm_lib_free_pages() calls are dropped. Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20191210142614.19405-3-tiwai@suse.de Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/au1x/dma.c')
-rw-r--r--sound/soc/au1x/dma.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/sound/soc/au1x/dma.c b/sound/soc/au1x/dma.c
index 520eb7b24a92..c9a038a5e2d3 100644
--- a/sound/soc/au1x/dma.c
+++ b/sound/soc/au1x/dma.c
@@ -231,19 +231,10 @@ static int alchemy_pcm_hw_params(struct snd_soc_component *component,
struct snd_pcm_hw_params *hw_params)
{
struct audio_stream *stream = ss_to_as(substream, component);
- int err;
-
- err = snd_pcm_lib_malloc_pages(substream,
- params_buffer_bytes(hw_params));
- if (err < 0)
- return err;
- err = au1000_setup_dma_link(stream,
- params_period_bytes(hw_params),
- params_periods(hw_params));
- if (err)
- snd_pcm_lib_free_pages(substream);
- return err;
+ return au1000_setup_dma_link(stream,
+ params_period_bytes(hw_params),
+ params_periods(hw_params));
}
static int alchemy_pcm_hw_free(struct snd_soc_component *component,
@@ -251,7 +242,7 @@ static int alchemy_pcm_hw_free(struct snd_soc_component *component,
{
struct audio_stream *stream = ss_to_as(substream, component);
au1000_release_dma_link(stream);
- return snd_pcm_lib_free_pages(substream);
+ return 0;
}
static int alchemy_pcm_trigger(struct snd_soc_component *component,
@@ -292,8 +283,8 @@ static int alchemy_pcm_new(struct snd_soc_component *component,
{
struct snd_pcm *pcm = rtd->pcm;
- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
- NULL, 65536, (4096 * 1024) - 1);
+ snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
+ NULL, 65536, (4096 * 1024) - 1);
return 0;
}