mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ASoC: rt5514-spi: Use managed buffer allocation
Clean up the driver with the new managed buffer allocation API. The superfluous snd_pcm_lib_malloc_pages() and snd_pcm_lib_free_pages() calls are dropped. Cc: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20191210142614.19405-19-tiwai@suse.de Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -215,11 +215,9 @@ static int rt5514_spi_hw_params(struct snd_soc_component *component,
|
|||||||
{
|
{
|
||||||
struct rt5514_dsp *rt5514_dsp =
|
struct rt5514_dsp *rt5514_dsp =
|
||||||
snd_soc_component_get_drvdata(component);
|
snd_soc_component_get_drvdata(component);
|
||||||
int ret;
|
|
||||||
u8 buf[8];
|
u8 buf[8];
|
||||||
|
|
||||||
mutex_lock(&rt5514_dsp->dma_lock);
|
mutex_lock(&rt5514_dsp->dma_lock);
|
||||||
ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
|
|
||||||
rt5514_dsp->substream = substream;
|
rt5514_dsp->substream = substream;
|
||||||
rt5514_dsp->dma_offset = 0;
|
rt5514_dsp->dma_offset = 0;
|
||||||
|
|
||||||
@@ -230,7 +228,7 @@ static int rt5514_spi_hw_params(struct snd_soc_component *component,
|
|||||||
|
|
||||||
mutex_unlock(&rt5514_dsp->dma_lock);
|
mutex_unlock(&rt5514_dsp->dma_lock);
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rt5514_spi_hw_free(struct snd_soc_component *component,
|
static int rt5514_spi_hw_free(struct snd_soc_component *component,
|
||||||
@@ -245,7 +243,7 @@ static int rt5514_spi_hw_free(struct snd_soc_component *component,
|
|||||||
|
|
||||||
cancel_delayed_work_sync(&rt5514_dsp->copy_work);
|
cancel_delayed_work_sync(&rt5514_dsp->copy_work);
|
||||||
|
|
||||||
return snd_pcm_lib_free_pages(substream);
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static snd_pcm_uframes_t rt5514_spi_pcm_pointer(
|
static snd_pcm_uframes_t rt5514_spi_pcm_pointer(
|
||||||
@@ -294,8 +292,8 @@ static int rt5514_spi_pcm_probe(struct snd_soc_component *component)
|
|||||||
static int rt5514_spi_pcm_new(struct snd_soc_component *component,
|
static int rt5514_spi_pcm_new(struct snd_soc_component *component,
|
||||||
struct snd_soc_pcm_runtime *rtd)
|
struct snd_soc_pcm_runtime *rtd)
|
||||||
{
|
{
|
||||||
snd_pcm_lib_preallocate_pages_for_all(rtd->pcm, SNDRV_DMA_TYPE_VMALLOC,
|
snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_VMALLOC,
|
||||||
NULL, 0, 0);
|
NULL, 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user