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.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
224a40c751
commit
a747db2390
@ -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)
|
|||||||
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)
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user