From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Subject: [alsa-devel] [PATCH 5.6 02/71] ALSA: aaci: Use managed buffer allocation
Date: Mon, 9 Dec 2019 10:48:34 +0100 [thread overview]
Message-ID: <20191209094943.14984-3-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 superfluous snd_pcm_lib_malloc_pages() and
snd_pcm_lib_free_pages() calls are dropped, and the if block is
flattened accordingly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/arm/aaci.c | 40 +++++++++++++++-------------------------
1 file changed, 15 insertions(+), 25 deletions(-)
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index b5399b0090a7..1e9ea0fe4f49 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -483,11 +483,6 @@ static int aaci_pcm_hw_free(struct snd_pcm_substream *substream)
snd_ac97_pcm_close(aacirun->pcm);
aacirun->pcm_open = 0;
- /*
- * Clear out the DMA and any allocated buffers.
- */
- snd_pcm_lib_free_pages(substream);
-
return 0;
}
@@ -502,6 +497,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct aaci_runtime *aacirun = substream->runtime->private_data;
+ struct aaci *aaci = substream->private_data;
unsigned int channels = params_channels(params);
unsigned int rate = params_rate(params);
int dbl = rate > 48000;
@@ -517,25 +513,19 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
if (dbl && channels != 2)
return -EINVAL;
- err = snd_pcm_lib_malloc_pages(substream,
- params_buffer_bytes(params));
- if (err >= 0) {
- struct aaci *aaci = substream->private_data;
+ err = snd_ac97_pcm_open(aacirun->pcm, rate, channels,
+ aacirun->pcm->r[dbl].slots);
- err = snd_ac97_pcm_open(aacirun->pcm, rate, channels,
- aacirun->pcm->r[dbl].slots);
+ aacirun->pcm_open = err == 0;
+ aacirun->cr = CR_FEN | CR_COMPACT | CR_SZ16;
+ aacirun->cr |= channels_to_slotmask[channels + dbl * 2];
- aacirun->pcm_open = err == 0;
- aacirun->cr = CR_FEN | CR_COMPACT | CR_SZ16;
- aacirun->cr |= channels_to_slotmask[channels + dbl * 2];
-
- /*
- * fifo_bytes is the number of bytes we transfer to/from
- * the FIFO, including padding. So that's x4. As we're
- * in compact mode, the FIFO is half the size.
- */
- aacirun->fifo_bytes = aaci->fifo_depth * 4 / 2;
- }
+ /*
+ * fifo_bytes is the number of bytes we transfer to/from
+ * the FIFO, including padding. So that's x4. As we're
+ * in compact mode, the FIFO is half the size.
+ */
+ aacirun->fifo_bytes = aaci->fifo_depth * 4 / 2;
return err;
}
@@ -937,9 +927,9 @@ static int aaci_init_pcm(struct aaci *aaci)
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &aaci_playback_ops);
snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &aaci_capture_ops);
- snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
- aaci->card->dev,
- 0, 64 * 1024);
+ snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV,
+ aaci->card->dev,
+ 0, 64 * 1024);
}
return ret;
--
2.16.4
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply other threads:[~2019-12-09 9:54 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 ` Takashi Iwai [this message]
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 ` [alsa-devel] [PATCH 5.6 56/71] ALSA: ymfpci: " Takashi Iwai
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-3-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