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

Link: https://lore.kernel.org/r/20191209094943.14984-56-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2019-12-09 10:49:27 +01:00
parent c79eafa095
commit 8e2c75249d
2 changed files with 20 additions and 34 deletions

View File

@ -919,18 +919,10 @@ static int snd_via82xx_hw_params(struct snd_pcm_substream *substream,
{ {
struct via82xx *chip = snd_pcm_substream_chip(substream); struct via82xx *chip = snd_pcm_substream_chip(substream);
struct viadev *viadev = substream->runtime->private_data; struct viadev *viadev = substream->runtime->private_data;
int err;
err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); return build_via_table(viadev, substream, chip->pci,
if (err < 0) params_periods(hw_params),
return err; params_period_bytes(hw_params));
err = build_via_table(viadev, substream, chip->pci,
params_periods(hw_params),
params_period_bytes(hw_params));
if (err < 0)
return err;
return 0;
} }
/* /*
@ -943,7 +935,6 @@ static int snd_via82xx_hw_free(struct snd_pcm_substream *substream)
struct viadev *viadev = substream->runtime->private_data; struct viadev *viadev = substream->runtime->private_data;
clean_via_table(viadev, substream, chip->pci); clean_via_table(viadev, substream, chip->pci);
snd_pcm_lib_free_pages(substream);
return 0; return 0;
} }
@ -1453,9 +1444,9 @@ static int snd_via8233_pcm_new(struct via82xx *chip)
/* capture */ /* capture */
init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1); init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev,
64*1024, VIA_MAX_BUFSIZE); 64*1024, VIA_MAX_BUFSIZE);
err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK, err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
snd_pcm_std_chmaps, 2, 0, snd_pcm_std_chmaps, 2, 0,
@ -1477,9 +1468,9 @@ static int snd_via8233_pcm_new(struct via82xx *chip)
/* set up capture */ /* set up capture */
init_viadev(chip, chip->capture_devno + 1, VIA_REG_CAPTURE_8233_STATUS + 0x10, 7, 1); init_viadev(chip, chip->capture_devno + 1, VIA_REG_CAPTURE_8233_STATUS + 0x10, 7, 1);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev,
64*1024, VIA_MAX_BUFSIZE); 64*1024, VIA_MAX_BUFSIZE);
err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK, err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
snd_pcm_alt_chmaps, 6, 0, snd_pcm_alt_chmaps, 6, 0,
@ -1520,9 +1511,9 @@ static int snd_via8233a_pcm_new(struct via82xx *chip)
/* capture */ /* capture */
init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1); init_viadev(chip, chip->capture_devno, VIA_REG_CAPTURE_8233_STATUS, 6, 1);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev,
64*1024, VIA_MAX_BUFSIZE); 64*1024, VIA_MAX_BUFSIZE);
err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK, err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
snd_pcm_alt_chmaps, 6, 0, snd_pcm_alt_chmaps, 6, 0,
@ -1546,9 +1537,9 @@ static int snd_via8233a_pcm_new(struct via82xx *chip)
/* set up playback */ /* set up playback */
init_viadev(chip, chip->playback_devno, 0x30, 3, 0); init_viadev(chip, chip->playback_devno, 0x30, 3, 0);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev,
64*1024, VIA_MAX_BUFSIZE); 64*1024, VIA_MAX_BUFSIZE);
return 0; return 0;
} }
@ -1576,9 +1567,9 @@ static int snd_via686_pcm_new(struct via82xx *chip)
init_viadev(chip, 0, VIA_REG_PLAYBACK_STATUS, 0, 0); init_viadev(chip, 0, VIA_REG_PLAYBACK_STATUS, 0, 0);
init_viadev(chip, 1, VIA_REG_CAPTURE_STATUS, 0, 1); init_viadev(chip, 1, VIA_REG_CAPTURE_STATUS, 0, 1);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev,
64*1024, VIA_MAX_BUFSIZE); 64*1024, VIA_MAX_BUFSIZE);
return 0; return 0;
} }

View File

@ -642,9 +642,6 @@ static int snd_via82xx_hw_params(struct snd_pcm_substream *substream,
struct viadev *viadev = substream->runtime->private_data; struct viadev *viadev = substream->runtime->private_data;
int err; int err;
err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
if (err < 0)
return err;
err = build_via_table(viadev, substream, chip->pci, err = build_via_table(viadev, substream, chip->pci,
params_periods(hw_params), params_periods(hw_params),
params_period_bytes(hw_params)); params_period_bytes(hw_params));
@ -667,7 +664,6 @@ static int snd_via82xx_hw_free(struct snd_pcm_substream *substream)
struct viadev *viadev = substream->runtime->private_data; struct viadev *viadev = substream->runtime->private_data;
clean_via_table(viadev, substream, chip->pci); clean_via_table(viadev, substream, chip->pci);
snd_pcm_lib_free_pages(substream);
return 0; return 0;
} }
@ -849,9 +845,8 @@ static int snd_via686_pcm_new(struct via82xx_modem *chip)
init_viadev(chip, 0, VIA_REG_MO_STATUS, 0); init_viadev(chip, 0, VIA_REG_MO_STATUS, 0);
init_viadev(chip, 1, VIA_REG_MI_STATUS, 1); init_viadev(chip, 1, VIA_REG_MI_STATUS, 1);
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG, snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
&chip->pci->dev, &chip->pci->dev, 64*1024, 128*1024);
64*1024, 128*1024);
return 0; return 0;
} }