Commit a747db23 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: lx6464es: 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.

Link: https://lore.kernel.org/r/20191209094943.14984-46-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 224a40c7
...@@ -342,23 +342,18 @@ static int lx_pcm_hw_params(struct snd_pcm_substream *substream, ...@@ -342,23 +342,18 @@ static int lx_pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params, int is_capture) struct snd_pcm_hw_params *hw_params, int is_capture)
{ {
struct lx6464es *chip = snd_pcm_substream_chip(substream); struct lx6464es *chip = snd_pcm_substream_chip(substream);
int err = 0;
dev_dbg(chip->card->dev, "->lx_pcm_hw_params\n"); dev_dbg(chip->card->dev, "->lx_pcm_hw_params\n");
mutex_lock(&chip->setup_mutex); mutex_lock(&chip->setup_mutex);
/* set dma buffer */
err = snd_pcm_lib_malloc_pages(substream,
params_buffer_bytes(hw_params));
if (is_capture) if (is_capture)
chip->capture_stream.stream = substream; chip->capture_stream.stream = substream;
else else
chip->playback_stream.stream = substream; chip->playback_stream.stream = substream;
mutex_unlock(&chip->setup_mutex); mutex_unlock(&chip->setup_mutex);
return err; return 0;
} }
static int lx_pcm_hw_params_playback(struct snd_pcm_substream *substream, static int lx_pcm_hw_params_playback(struct snd_pcm_substream *substream,
...@@ -400,8 +395,6 @@ static int lx_pcm_hw_free(struct snd_pcm_substream *substream) ...@@ -400,8 +395,6 @@ static int lx_pcm_hw_free(struct snd_pcm_substream *substream)
chip->hardware_running[is_capture] = 0; chip->hardware_running[is_capture] = 0;
} }
err = snd_pcm_lib_free_pages(substream);
if (is_capture) if (is_capture)
chip->capture_stream.stream = NULL; chip->capture_stream.stream = NULL;
else else
...@@ -845,9 +838,8 @@ static int lx_pcm_create(struct lx6464es *chip) ...@@ -845,9 +838,8 @@ static int lx_pcm_create(struct lx6464es *chip)
pcm->nonatomic = true; pcm->nonatomic = true;
strcpy(pcm->name, card_name); strcpy(pcm->name, card_name);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
&chip->pci->dev, &chip->pci->dev, size, size);
size, size);
chip->pcm = pcm; chip->pcm = pcm;
chip->capture_stream.is_capture = 1; chip->capture_stream.is_capture = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment