ALSA: mixart: Use managed buffer allocation
authorTakashi Iwai <tiwai@suse.de>
Mon, 9 Dec 2019 09:49:19 +0000 (10:49 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 11 Dec 2019 06:25:15 +0000 (07:25 +0100)
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-48-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/mixart/mixart.c

index 674d37ec96b39c296ad894f79ab7df5e6e5954fc..79a57f3761c5a3d30639bc70c2ab38676cf7cb61 100644 (file)
@@ -624,10 +624,7 @@ static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
                return err;
        }
 
-       /* allocate buffer */
-       err = snd_pcm_lib_malloc_pages(subs, params_buffer_bytes(hw));
-
-       if (err > 0) {
+       if (subs->runtime->buffer_changed) {
                struct mixart_bufferinfo *bufferinfo;
                int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STREAMS+MIXART_CAPTURE_STREAMS)) + subs->number;
                if( subs->stream == SNDRV_PCM_STREAM_CAPTURE ) {
@@ -647,13 +644,12 @@ static int snd_mixart_hw_params(struct snd_pcm_substream *subs,
        }
        mutex_unlock(&mgr->setup_mutex);
 
-       return err;
+       return 0;
 }
 
 static int snd_mixart_hw_free(struct snd_pcm_substream *subs)
 {
        struct snd_mixart *chip = snd_pcm_substream_chip(subs);
-       snd_pcm_lib_free_pages(subs);
        mixart_sync_nonblock_events(chip->mgr);
        return 0;
 }
@@ -947,9 +943,9 @@ static void preallocate_buffers(struct snd_mixart *chip, struct snd_pcm *pcm)
                                (chip->chip_idx + 1) << 24;
        }
 #endif
-       snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-                                             &chip->mgr->pci->dev,
-                                             32*1024, 32*1024);
+       snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+                                      &chip->mgr->pci->dev,
+                                      32*1024, 32*1024);
 }
 
 /*