Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Subject: [alsa-devel] [PATCH 5.6 56/71] ALSA: ymfpci: Use managed buffer allocation
Date: Mon,  9 Dec 2019 10:49:28 +0100	[thread overview]
Message-ID: <20191209094943.14984-57-tiwai@suse.de> (raw)
In-Reply-To: <20191209094943.14984-1-tiwai@suse.de>

Clean up the driver with the new managed buffer allocation API.
The hw_params callback became superfluous and got dropped.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/ymfpci/ymfpci_main.c | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 125c11ed5064..748bbdcb2c52 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -628,8 +628,6 @@ static int snd_ymfpci_playback_hw_params(struct snd_pcm_substream *substream,
 	struct snd_ymfpci_pcm *ypcm = runtime->private_data;
 	int err;
 
-	if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params))) < 0)
-		return err;
 	if ((err = snd_ymfpci_pcm_voice_alloc(ypcm, params_channels(hw_params))) < 0)
 		return err;
 	return 0;
@@ -647,7 +645,6 @@ static int snd_ymfpci_playback_hw_free(struct snd_pcm_substream *substream)
 
 	/* wait, until the PCI operations are not finished */
 	snd_ymfpci_irq_wait(chip);
-	snd_pcm_lib_free_pages(substream);
 	if (ypcm->voices[1]) {
 		snd_ymfpci_voice_free(chip, ypcm->voices[1]);
 		ypcm->voices[1] = NULL;
@@ -683,19 +680,13 @@ static int snd_ymfpci_playback_prepare(struct snd_pcm_substream *substream)
 	return 0;
 }
 
-static int snd_ymfpci_capture_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_ymfpci_capture_hw_free(struct snd_pcm_substream *substream)
 {
 	struct snd_ymfpci *chip = snd_pcm_substream_chip(substream);
 
 	/* wait, until the PCI operations are not finished */
 	snd_ymfpci_irq_wait(chip);
-	return snd_pcm_lib_free_pages(substream);
+	return 0;
 }
 
 static int snd_ymfpci_capture_prepare(struct snd_pcm_substream *substream)
@@ -1124,7 +1115,6 @@ static const struct snd_pcm_ops snd_ymfpci_capture_rec_ops = {
 	.open =			snd_ymfpci_capture_rec_open,
 	.close =		snd_ymfpci_capture_close,
 	.ioctl =		snd_pcm_lib_ioctl,
-	.hw_params =		snd_ymfpci_capture_hw_params,
 	.hw_free =		snd_ymfpci_capture_hw_free,
 	.prepare =		snd_ymfpci_capture_prepare,
 	.trigger =		snd_ymfpci_capture_trigger,
@@ -1148,9 +1138,8 @@ int snd_ymfpci_pcm(struct snd_ymfpci *chip, int device)
 	strcpy(pcm->name, "YMFPCI");
 	chip->pcm = pcm;
 
-	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-					      &chip->pci->dev,
-					      64*1024, 256*1024);
+	snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+				       &chip->pci->dev, 64*1024, 256*1024);
 
 	return snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
 				     snd_pcm_std_chmaps, 2, 0, NULL);
@@ -1160,7 +1149,6 @@ static const struct snd_pcm_ops snd_ymfpci_capture_ac97_ops = {
 	.open =			snd_ymfpci_capture_ac97_open,
 	.close =		snd_ymfpci_capture_close,
 	.ioctl =		snd_pcm_lib_ioctl,
-	.hw_params =		snd_ymfpci_capture_hw_params,
 	.hw_free =		snd_ymfpci_capture_hw_free,
 	.prepare =		snd_ymfpci_capture_prepare,
 	.trigger =		snd_ymfpci_capture_trigger,
@@ -1184,9 +1172,8 @@ int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device)
 		chip->device_id == PCI_DEVICE_ID_YAMAHA_754 ? "Direct Recording" : "AC'97");
 	chip->pcm2 = pcm;
 
-	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-					      &chip->pci->dev,
-					      64*1024, 256*1024);
+	snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+				       &chip->pci->dev, 64*1024, 256*1024);
 
 	return 0;
 }
@@ -1218,9 +1205,8 @@ int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device)
 	strcpy(pcm->name, "YMFPCI - IEC958");
 	chip->pcm_spdif = pcm;
 
-	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-					      &chip->pci->dev,
-					      64*1024, 256*1024);
+	snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+				       &chip->pci->dev, 64*1024, 256*1024);
 
 	return 0;
 }
@@ -1260,9 +1246,8 @@ int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device)
 	strcpy(pcm->name, "YMFPCI - Rear PCM");
 	chip->pcm_4ch = pcm;
 
-	snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
-					      &chip->pci->dev,
-					      64*1024, 256*1024);
+	snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+				       &chip->pci->dev, 64*1024, 256*1024);
 
 	return snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK,
 				     surround_map, 2, 0, NULL);
-- 
2.16.4

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  parent reply	other threads:[~2019-12-09 10:35 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-09  9:48 [alsa-devel] [PATCH 5.6 00/71] ALSA: Use managed buffer allocation Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 01/71] ALSA: aoa: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 02/71] ALSA: aaci: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 03/71] ALSA: atmel: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 04/71] ALSA: aloop: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 05/71] ALSA: dummy: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 06/71] ALSA: ml403: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 07/71] ALSA: pcsp: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 08/71] ALSA: vx: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 09/71] ALSA: firewire: " Takashi Iwai
2019-12-09 15:16   ` Takashi Sakamoto
2019-12-09 15:58     ` Takashi Iwai
2019-12-09 19:08       ` Takashi Iwai
2019-12-09 19:24         ` [alsa-devel] [PATCH v2] " Takashi Iwai
2019-12-10 15:40           ` Takashi Sakamoto
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 10/71] ALSA: ad1816a: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 11/71] ALSA: cmi8330: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 12/71] ALSA: es1688: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 13/71] ALSA: es18xx: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 14/71] ALSA: sb: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 15/71] ALSA: gus: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 16/71] ALSA: wss: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 17/71] ALSA: mips: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 18/71] ALSA: parisc: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 19/71] ALSA: ad1889: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 20/71] ALSA: ali5451: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 21/71] ALSA: als300: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 22/71] ALSA: als4000: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 23/71] ALSA: asihpi: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 24/71] ALSA: atiixp: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 25/71] ALSA: au88x0: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 26/71] ALSA: aw2: " Takashi Iwai
2019-12-09  9:48 ` [alsa-devel] [PATCH 5.6 27/71] ALSA: azt3328: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 28/71] ALSA: bt87x: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 29/71] ALSA: ca0106: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 30/71] ALSA: cmipci: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 31/71] ALSA: cs4281: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 32/71] ALSA: cs5535: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 33/71] ALSA: ctxfi: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 34/71] ALSA: echoaudio: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 35/71] ALSA: emu10k1x: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 36/71] ALSA: emu10k1: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 37/71] ALSA: ens137x: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 38/71] ALSA: es1938: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 39/71] ALSA: fm801: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 40/71] ALSA: hda: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 41/71] ALSA: ice1712: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 42/71] ALSA: ice1724: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 43/71] ALSA: intel8x0: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 44/71] ALSA: lola: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 45/71] ALSA: lx6464es: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 46/71] ALSA: maestro3: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 47/71] ALSA: mixart: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 48/71] ALSA: oxygen: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 49/71] ALSA: pcxhr: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 50/71] ALSA: riptide: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 51/71] ALSA: rme32: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 52/71] ALSA: sis7019: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 53/71] ALSA: sonicvibes: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 54/71] ALSA: trident: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 55/71] ALSA: via82xx: " Takashi Iwai
2019-12-09  9:49 ` Takashi Iwai [this message]
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 57/71] ALSA: pdaudiocf: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 58/71] ALSA: pmac: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 59/71] ALSA: ps3: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 60/71] ALSA: aica: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 61/71] ALSA: sh: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 62/71] ALSA: sparc: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 63/71] ALSA: spi: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 64/71] ALSA: 6fire: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 65/71] ALSA: caiaq: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 66/71] ALSA: hiface: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 67/71] ALSA: line6: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 68/71] ALSA: ua101: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 69/71] ALSA: usx2y: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 70/71] ALSA: usb-audio: " Takashi Iwai
2019-12-09  9:49 ` [alsa-devel] [PATCH 5.6 71/71] ALSA: hdml-lpe-audio: " Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191209094943.14984-57-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox