From: Takashi Iwai <tiwai@suse.de>
To: alsa-devel@alsa-project.org
Subject: [alsa-devel] [PATCH 5.6 29/71] ALSA: ca0106: Use managed buffer allocation
Date: Mon, 9 Dec 2019 10:49:01 +0100 [thread overview]
Message-ID: <20191209094943.14984-30-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 and hw_free callbacks became superfluous and got
dropped.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/ca0106/ca0106_main.c | 56 +++++-------------------------------------
1 file changed, 6 insertions(+), 50 deletions(-)
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index abc2440dc2d9..758cb4dd4b00 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -707,34 +707,6 @@ static int snd_ca0106_pcm_open_3_capture(struct snd_pcm_substream *substream)
return snd_ca0106_pcm_open_capture_channel(substream, 3);
}
-/* hw_params callback */
-static int snd_ca0106_pcm_hw_params_playback(struct snd_pcm_substream *substream,
- struct snd_pcm_hw_params *hw_params)
-{
- return snd_pcm_lib_malloc_pages(substream,
- params_buffer_bytes(hw_params));
-}
-
-/* hw_free callback */
-static int snd_ca0106_pcm_hw_free_playback(struct snd_pcm_substream *substream)
-{
- return snd_pcm_lib_free_pages(substream);
-}
-
-/* hw_params callback */
-static int snd_ca0106_pcm_hw_params_capture(struct snd_pcm_substream *substream,
- struct snd_pcm_hw_params *hw_params)
-{
- return snd_pcm_lib_malloc_pages(substream,
- params_buffer_bytes(hw_params));
-}
-
-/* hw_free callback */
-static int snd_ca0106_pcm_hw_free_capture(struct snd_pcm_substream *substream)
-{
- return snd_pcm_lib_free_pages(substream);
-}
-
/* prepare playback callback */
static int snd_ca0106_pcm_prepare_playback(struct snd_pcm_substream *substream)
{
@@ -1097,8 +1069,6 @@ static const struct snd_pcm_ops snd_ca0106_playback_front_ops = {
.open = snd_ca0106_pcm_open_playback_front,
.close = snd_ca0106_pcm_close_playback,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_playback,
- .hw_free = snd_ca0106_pcm_hw_free_playback,
.prepare = snd_ca0106_pcm_prepare_playback,
.trigger = snd_ca0106_pcm_trigger_playback,
.pointer = snd_ca0106_pcm_pointer_playback,
@@ -1108,8 +1078,6 @@ static const struct snd_pcm_ops snd_ca0106_capture_0_ops = {
.open = snd_ca0106_pcm_open_0_capture,
.close = snd_ca0106_pcm_close_capture,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_capture,
- .hw_free = snd_ca0106_pcm_hw_free_capture,
.prepare = snd_ca0106_pcm_prepare_capture,
.trigger = snd_ca0106_pcm_trigger_capture,
.pointer = snd_ca0106_pcm_pointer_capture,
@@ -1119,8 +1087,6 @@ static const struct snd_pcm_ops snd_ca0106_capture_1_ops = {
.open = snd_ca0106_pcm_open_1_capture,
.close = snd_ca0106_pcm_close_capture,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_capture,
- .hw_free = snd_ca0106_pcm_hw_free_capture,
.prepare = snd_ca0106_pcm_prepare_capture,
.trigger = snd_ca0106_pcm_trigger_capture,
.pointer = snd_ca0106_pcm_pointer_capture,
@@ -1130,8 +1096,6 @@ static const struct snd_pcm_ops snd_ca0106_capture_2_ops = {
.open = snd_ca0106_pcm_open_2_capture,
.close = snd_ca0106_pcm_close_capture,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_capture,
- .hw_free = snd_ca0106_pcm_hw_free_capture,
.prepare = snd_ca0106_pcm_prepare_capture,
.trigger = snd_ca0106_pcm_trigger_capture,
.pointer = snd_ca0106_pcm_pointer_capture,
@@ -1141,8 +1105,6 @@ static const struct snd_pcm_ops snd_ca0106_capture_3_ops = {
.open = snd_ca0106_pcm_open_3_capture,
.close = snd_ca0106_pcm_close_capture,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_capture,
- .hw_free = snd_ca0106_pcm_hw_free_capture,
.prepare = snd_ca0106_pcm_prepare_capture,
.trigger = snd_ca0106_pcm_trigger_capture,
.pointer = snd_ca0106_pcm_pointer_capture,
@@ -1152,8 +1114,6 @@ static const struct snd_pcm_ops snd_ca0106_playback_center_lfe_ops = {
.open = snd_ca0106_pcm_open_playback_center_lfe,
.close = snd_ca0106_pcm_close_playback,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_playback,
- .hw_free = snd_ca0106_pcm_hw_free_playback,
.prepare = snd_ca0106_pcm_prepare_playback,
.trigger = snd_ca0106_pcm_trigger_playback,
.pointer = snd_ca0106_pcm_pointer_playback,
@@ -1163,8 +1123,6 @@ static const struct snd_pcm_ops snd_ca0106_playback_unknown_ops = {
.open = snd_ca0106_pcm_open_playback_unknown,
.close = snd_ca0106_pcm_close_playback,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_playback,
- .hw_free = snd_ca0106_pcm_hw_free_playback,
.prepare = snd_ca0106_pcm_prepare_playback,
.trigger = snd_ca0106_pcm_trigger_playback,
.pointer = snd_ca0106_pcm_pointer_playback,
@@ -1174,8 +1132,6 @@ static const struct snd_pcm_ops snd_ca0106_playback_rear_ops = {
.open = snd_ca0106_pcm_open_playback_rear,
.close = snd_ca0106_pcm_close_playback,
.ioctl = snd_pcm_lib_ioctl,
- .hw_params = snd_ca0106_pcm_hw_params_playback,
- .hw_free = snd_ca0106_pcm_hw_free_playback,
.prepare = snd_ca0106_pcm_prepare_playback,
.trigger = snd_ca0106_pcm_trigger_playback,
.pointer = snd_ca0106_pcm_pointer_playback,
@@ -1388,17 +1344,17 @@ static int snd_ca0106_pcm(struct snd_ca0106 *emu, int device)
for(substream = pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream;
substream;
substream = substream->next) {
- snd_pcm_lib_preallocate_pages(substream, SNDRV_DMA_TYPE_DEV,
- &emu->pci->dev,
- 64*1024, 64*1024);
+ snd_pcm_set_managed_buffer(substream, SNDRV_DMA_TYPE_DEV,
+ &emu->pci->dev,
+ 64*1024, 64*1024);
}
for (substream = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream;
substream;
substream = substream->next) {
- snd_pcm_lib_preallocate_pages(substream, SNDRV_DMA_TYPE_DEV,
- &emu->pci->dev,
- 64*1024, 64*1024);
+ snd_pcm_set_managed_buffer(substream, SNDRV_DMA_TYPE_DEV,
+ &emu->pci->dev,
+ 64*1024, 64*1024);
}
err = snd_pcm_add_chmap_ctls(pcm, SNDRV_PCM_STREAM_PLAYBACK, map, 2,
--
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 10:08 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 ` Takashi Iwai [this message]
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-30-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