diff options
author | Takashi Iwai <tiwai@suse.de> | 2019-12-09 10:49:12 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-12-11 07:25:12 +0100 |
commit | 7a6d4a5ac89fcc775b0bc7acb8656aec6b4d82b1 (patch) | |
tree | 2b9245c821c0ff3bcad26cbf5a2777f08f8df650 /sound/pci/hda/hda_controller.c | |
parent | 247ed1020476bfdec52459f4019c75d596e27156 (diff) |
ALSA: hda: Use managed buffer allocation
Clean up the common driver module with the new managed buffer
allocation API. The superfluous snd_pcm_lib_malloc_pages() and
snd_pcm_lib_free_pages() calls are dropped.
Link: https://lore.kernel.org/r/20191209094943.14984-41-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_controller.c')
-rw-r--r-- | sound/pci/hda/hda_controller.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c index f30a053d981e..5301bb94f631 100644 --- a/sound/pci/hda/hda_controller.c +++ b/sound/pci/hda/hda_controller.c @@ -107,7 +107,7 @@ static int azx_pcm_hw_params(struct snd_pcm_substream *substream, struct azx_pcm *apcm = snd_pcm_substream_chip(substream); struct azx *chip = apcm->chip; struct azx_dev *azx_dev = get_azx_dev(substream); - int ret; + int ret = 0; trace_azx_pcm_hw_params(chip, azx_dev); dsp_lock(azx_dev); @@ -119,8 +119,6 @@ static int azx_pcm_hw_params(struct snd_pcm_substream *substream, azx_dev->core.bufsize = 0; azx_dev->core.period_bytes = 0; azx_dev->core.format_val = 0; - ret = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(hw_params)); unlock: dsp_unlock(azx_dev); @@ -132,7 +130,6 @@ static int azx_pcm_hw_free(struct snd_pcm_substream *substream) struct azx_pcm *apcm = snd_pcm_substream_chip(substream); struct azx_dev *azx_dev = get_azx_dev(substream); struct hda_pcm_stream *hinfo = to_hda_pcm_stream(substream); - int err; /* reset BDL address */ dsp_lock(azx_dev); @@ -141,10 +138,9 @@ static int azx_pcm_hw_free(struct snd_pcm_substream *substream) snd_hda_codec_cleanup(apcm->codec, hinfo, substream); - err = snd_pcm_lib_free_pages(substream); azx_stream(azx_dev)->prepared = 0; dsp_unlock(azx_dev); - return err; + return 0; } static int azx_pcm_prepare(struct snd_pcm_substream *substream) @@ -766,9 +762,8 @@ int snd_hda_attach_pcm_stream(struct hda_bus *_bus, struct hda_codec *codec, size = MAX_PREALLOC_SIZE; if (chip->uc_buffer) type = SNDRV_DMA_TYPE_DEV_UC_SG; - snd_pcm_lib_preallocate_pages_for_all(pcm, type, - chip->card->dev, - size, MAX_PREALLOC_SIZE); + snd_pcm_set_managed_buffer_all(pcm, type, chip->card->dev, + size, MAX_PREALLOC_SIZE); return 0; } |