ALSA: sparc: Use managed buffer allocation
Clean up the drivers with the new managed buffer allocation API. The hw_params and hw_free callbacks became superfluous and dropped. Link: https://lore.kernel.org/r/20191209094943.14984-63-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
50cdf3a096
commit
786e90b0d0
|
@ -723,23 +723,10 @@ static int snd_amd7930_capture_close(struct snd_pcm_substream *substream)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int snd_amd7930_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_pcm_hw_params *hw_params)
|
||||
{
|
||||
return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
|
||||
}
|
||||
|
||||
static int snd_amd7930_hw_free(struct snd_pcm_substream *substream)
|
||||
{
|
||||
return snd_pcm_lib_free_pages(substream);
|
||||
}
|
||||
|
||||
static const struct snd_pcm_ops snd_amd7930_playback_ops = {
|
||||
.open = snd_amd7930_playback_open,
|
||||
.close = snd_amd7930_playback_close,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = snd_amd7930_hw_params,
|
||||
.hw_free = snd_amd7930_hw_free,
|
||||
.prepare = snd_amd7930_playback_prepare,
|
||||
.trigger = snd_amd7930_playback_trigger,
|
||||
.pointer = snd_amd7930_playback_pointer,
|
||||
|
@ -749,8 +736,6 @@ static const struct snd_pcm_ops snd_amd7930_capture_ops = {
|
|||
.open = snd_amd7930_capture_open,
|
||||
.close = snd_amd7930_capture_close,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = snd_amd7930_hw_params,
|
||||
.hw_free = snd_amd7930_hw_free,
|
||||
.prepare = snd_amd7930_capture_prepare,
|
||||
.trigger = snd_amd7930_capture_trigger,
|
||||
.pointer = snd_amd7930_capture_pointer,
|
||||
|
@ -776,9 +761,8 @@ static int snd_amd7930_pcm(struct snd_amd7930 *amd)
|
|||
strcpy(pcm->name, amd->card->shortname);
|
||||
amd->pcm = pcm;
|
||||
|
||||
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
|
||||
NULL,
|
||||
64*1024, 64*1024);
|
||||
snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
|
||||
NULL, 64*1024, 64*1024);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -889,12 +889,7 @@ static int snd_cs4231_playback_hw_params(struct snd_pcm_substream *substream,
|
|||
{
|
||||
struct snd_cs4231 *chip = snd_pcm_substream_chip(substream);
|
||||
unsigned char new_pdfr;
|
||||
int err;
|
||||
|
||||
err = snd_pcm_lib_malloc_pages(substream,
|
||||
params_buffer_bytes(hw_params));
|
||||
if (err < 0)
|
||||
return err;
|
||||
new_pdfr = snd_cs4231_get_format(chip, params_format(hw_params),
|
||||
params_channels(hw_params)) |
|
||||
snd_cs4231_get_rate(params_rate(hw_params));
|
||||
|
@ -933,12 +928,7 @@ static int snd_cs4231_capture_hw_params(struct snd_pcm_substream *substream,
|
|||
{
|
||||
struct snd_cs4231 *chip = snd_pcm_substream_chip(substream);
|
||||
unsigned char new_cdfr;
|
||||
int err;
|
||||
|
||||
err = snd_pcm_lib_malloc_pages(substream,
|
||||
params_buffer_bytes(hw_params));
|
||||
if (err < 0)
|
||||
return err;
|
||||
new_cdfr = snd_cs4231_get_format(chip, params_format(hw_params),
|
||||
params_channels(hw_params)) |
|
||||
snd_cs4231_get_rate(params_rate(hw_params));
|
||||
|
@ -1205,7 +1195,6 @@ static const struct snd_pcm_ops snd_cs4231_playback_ops = {
|
|||
.close = snd_cs4231_playback_close,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = snd_cs4231_playback_hw_params,
|
||||
.hw_free = snd_pcm_lib_free_pages,
|
||||
.prepare = snd_cs4231_playback_prepare,
|
||||
.trigger = snd_cs4231_trigger,
|
||||
.pointer = snd_cs4231_playback_pointer,
|
||||
|
@ -1216,7 +1205,6 @@ static const struct snd_pcm_ops snd_cs4231_capture_ops = {
|
|||
.close = snd_cs4231_capture_close,
|
||||
.ioctl = snd_pcm_lib_ioctl,
|
||||
.hw_params = snd_cs4231_capture_hw_params,
|
||||
.hw_free = snd_pcm_lib_free_pages,
|
||||
.prepare = snd_cs4231_capture_prepare,
|
||||
.trigger = snd_cs4231_trigger,
|
||||
.pointer = snd_cs4231_capture_pointer,
|
||||
|
@ -1242,9 +1230,8 @@ static int snd_cs4231_pcm(struct snd_card *card)
|
|||
pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX;
|
||||
strcpy(pcm->name, "CS4231");
|
||||
|
||||
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
|
||||
&chip->op->dev,
|
||||
64 * 1024, 128 * 1024);
|
||||
snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
|
||||
&chip->op->dev, 64 * 1024, 128 * 1024);
|
||||
|
||||
chip->pcm = pcm;
|
||||
|
||||
|
|
|
@ -2099,12 +2099,6 @@ static int snd_dbri_hw_params(struct snd_pcm_substream *substream,
|
|||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
if ((ret = snd_pcm_lib_malloc_pages(substream,
|
||||
params_buffer_bytes(hw_params))) < 0) {
|
||||
printk(KERN_ERR "malloc_pages failed with %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* hw_params can get called multiple times. Only map the DMA once.
|
||||
*/
|
||||
if (info->dvma_buffer == 0) {
|
||||
|
@ -2151,7 +2145,7 @@ static int snd_dbri_hw_free(struct snd_pcm_substream *substream)
|
|||
info->pipe = -1;
|
||||
}
|
||||
|
||||
return snd_pcm_lib_free_pages(substream);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int snd_dbri_prepare(struct snd_pcm_substream *substream)
|
||||
|
@ -2248,9 +2242,8 @@ static int snd_dbri_pcm(struct snd_card *card)
|
|||
pcm->info_flags = 0;
|
||||
strcpy(pcm->name, card->shortname);
|
||||
|
||||
snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
|
||||
NULL,
|
||||
64 * 1024, 64 * 1024);
|
||||
snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,
|
||||
NULL, 64 * 1024, 64 * 1024);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue