mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 14:46:47 +07:00
ASoC: intel: skylake: 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. The pcm_construct ops contains only the superfluous call of snd_pcm_lib_preallocate_free_for_all(), so dropped, too. Cc: Cezary Rojewski <cezary.rojewski@intel.com> Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Liam Girdwood <liam.r.girdwood@linux.intel.com> Cc: Jie Yang <yang.jie@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://lore.kernel.org/r/20191210142614.19405-24-tiwai@suse.de Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3f93b1ed4a
commit
51240953f2
@ -77,13 +77,7 @@ static int skl_substream_alloc_pages(struct hdac_bus *bus,
|
||||
hdac_stream(stream)->period_bytes = 0;
|
||||
hdac_stream(stream)->format_val = 0;
|
||||
|
||||
return snd_pcm_lib_malloc_pages(substream, size);
|
||||
}
|
||||
|
||||
static int skl_substream_free_pages(struct hdac_bus *bus,
|
||||
struct snd_pcm_substream *substream)
|
||||
{
|
||||
return snd_pcm_lib_free_pages(substream);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void skl_set_pcm_constrains(struct hdac_bus *bus,
|
||||
@ -385,7 +379,6 @@ static void skl_pcm_close(struct snd_pcm_substream *substream,
|
||||
static int skl_pcm_hw_free(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
struct hdac_bus *bus = dev_get_drvdata(dai->dev);
|
||||
struct hdac_ext_stream *stream = get_hdac_ext_stream(substream);
|
||||
struct skl_dev *skl = get_skl_ctx(dai->dev);
|
||||
struct skl_module_cfg *mconfig;
|
||||
@ -405,7 +398,7 @@ static int skl_pcm_hw_free(struct snd_pcm_substream *substream,
|
||||
snd_hdac_stream_cleanup(hdac_stream(stream));
|
||||
hdac_stream(stream)->prepared = 0;
|
||||
|
||||
return skl_substream_free_pages(bus, substream);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int skl_be_hw_params(struct snd_pcm_substream *substream,
|
||||
@ -1289,12 +1282,6 @@ static int skl_platform_soc_get_time_info(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void skl_platform_soc_free(struct snd_soc_component *component,
|
||||
struct snd_pcm *pcm)
|
||||
{
|
||||
snd_pcm_lib_preallocate_free_for_all(pcm);
|
||||
}
|
||||
|
||||
#define MAX_PREALLOC_SIZE (32 * 1024 * 1024)
|
||||
|
||||
static int skl_platform_soc_new(struct snd_soc_component *component,
|
||||
@ -1312,10 +1299,10 @@ static int skl_platform_soc_new(struct snd_soc_component *component,
|
||||
size = CONFIG_SND_HDA_PREALLOC_SIZE * 1024;
|
||||
if (size > MAX_PREALLOC_SIZE)
|
||||
size = MAX_PREALLOC_SIZE;
|
||||
snd_pcm_lib_preallocate_pages_for_all(pcm,
|
||||
SNDRV_DMA_TYPE_DEV_SG,
|
||||
&skl->pci->dev,
|
||||
size, MAX_PREALLOC_SIZE);
|
||||
snd_pcm_set_managed_buffer_all(pcm,
|
||||
SNDRV_DMA_TYPE_DEV_SG,
|
||||
&skl->pci->dev,
|
||||
size, MAX_PREALLOC_SIZE);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1482,7 +1469,6 @@ static const struct snd_soc_component_driver skl_component = {
|
||||
.get_time_info = skl_platform_soc_get_time_info,
|
||||
.mmap = skl_platform_soc_mmap,
|
||||
.pcm_construct = skl_platform_soc_new,
|
||||
.pcm_destruct = skl_platform_soc_free,
|
||||
.module_get_upon_open = 1, /* increment refcount when a pcm is opened */
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user