Re: [v2 PATCH 0/1] ALSA: virtio: add support for audio controls

2024-02-19 Thread Anton Yakovlev
adjusted via ALSA APIs. Reviewed-by: Marcin Radomski Tested-By: Marcin Radomski -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin

Re: [PATCH] sound: virtio: correct the function name in kernel-doc comment

2021-04-15 Thread Anton Yakovlev
: Randy Dunlap Cc: Anton Yakovlev Cc: "Michael S. Tsirkin" Cc: virtualizat...@lists.linux-foundation.org Cc: alsa-de...@alsa-project.org Thanks for fixing the copy/paste mistake. :) Reviewed-by: Anton Yakovlev --- sound/virtio/virtio_ctl_msg.c |2 +- 1 file changed, 1 inser

Re: [PATCH -next] ALSA: virtio: use module_virtio_driver() to simplify the code

2021-04-10 Thread Anton Yakovlev
On 08.04.2021 14:54, Chen Huang wrote module_virtio_driver() makes the code simpler by eliminating boilerplate code. Signed-off-by: Chen Huang Thanks for the patch. Reviewed-by: Anton Yakovlev --- sound/virtio/virtio_card.c | 12 +--- 1 file changed, 1 insertion(+), 11

[PATCH v7 6/9] ALSA: virtio: PCM substream operators

2021-03-02 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 2 + sound/virtio/virtio_pcm.h | 5 + sound/virtio/virtio_pcm_ops.c | 445 ++ 4

[PATCH v7 7/9] ALSA: virtio: introduce jack support

2021-03-02 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 14

[PATCH v7 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-03-02 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 18 ++ sound/virtio/virtio_card.h | 10 + sound

[PATCH v7 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-03-02 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

[PATCH v7 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-03-02 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v7 8/9] ALSA: virtio: introduce PCM channel map support

2021-03-02 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 10 ++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 219 sound

[PATCH v7 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-02 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 56 +++ sound/virtio/virtio_pcm.h | 3 ++ sound/virtio/virtio_pcm_ops.c | 33 - 3

[PATCH v7 2/9] ALSA: virtio: add virtio sound driver

2021-03-02 Thread Anton Yakovlev
Introduce skeleton of the virtio sound driver. The driver implements the virtio sound device specification, which has become part of the virtio standard. Initial initialization of the device, virtqueues and creation of an empty ALSA sound device. Signed-off-by: Anton Yakovlev --- MAINTAINERS

[PATCH v7 3/9] ALSA: virtio: handling control messages

2021-03-02 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 13 ++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 310 ++ sound/virtio/virtio_ctl_msg.h | 78 + 5 files

Re: [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-02 Thread Anton Yakovlev
On 02.03.2021 10:11, Takashi Iwai wrote: On Tue, 02 Mar 2021 09:09:33 +0100, Anton Yakovlev wrote: On 02.03.2021 07:48, Takashi Iwai wrote: On Tue, 02 Mar 2021 07:29:20 +0100, Anton Yakovlev wrote: On 28.02.2021 13:05, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:56 +0100, Anton Yakovlev

Re: [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-02 Thread Anton Yakovlev
On 02.03.2021 07:48, Takashi Iwai wrote: On Tue, 02 Mar 2021 07:29:20 +0100, Anton Yakovlev wrote: On 28.02.2021 13:05, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:56 +0100, Anton Yakovlev wrote: [snip] --- a/sound/virtio/virtio_pcm.c +++ b/sound/virtio/virtio_pcm.c @@ -109,6 +109,7

Re: [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-02 Thread Anton Yakovlev
On 28.02.2021 13:05, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:56 +0100, Anton Yakovlev wrote: [snip] --- a/sound/virtio/virtio_pcm.c +++ b/sound/virtio/virtio_pcm.c @@ -109,6 +109,7 @@ static int virtsnd_pcm_build_hw(struct virtio_pcm_substream *vss

Re: [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-01 Thread Anton Yakovlev
On 01.03.2021 14:38, Takashi Iwai wrote: On Mon, 01 Mar 2021 11:03:04 +0100, Anton Yakovlev wrote: On 28.02.2021 13:05, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:56 +0100, Anton Yakovlev wrote: All running PCM substreams are stopped on device suspend and restarted on device resume

Re: [PATCH v6 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-03-01 Thread Anton Yakovlev
On 01.03.2021 15:56, Takashi Iwai wrote: On Mon, 01 Mar 2021 15:47:46 +0100, Anton Yakovlev wrote: On 01.03.2021 14:32, Takashi Iwai wrote: On Mon, 01 Mar 2021 10:25:05 +0100, Anton Yakovlev wrote: On 28.02.2021 12:27, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:52 +0100, Anton Yakovlev

Re: [PATCH v6 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-03-01 Thread Anton Yakovlev
On 01.03.2021 14:32, Takashi Iwai wrote: On Mon, 01 Mar 2021 10:25:05 +0100, Anton Yakovlev wrote: On 28.02.2021 12:27, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:52 +0100, Anton Yakovlev wrote: +/** + * virtsnd_pcm_event() - Handle the PCM device event notification. + * @snd: VirtIO

Re: [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-03-01 Thread Anton Yakovlev
On 28.02.2021 13:05, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:56 +0100, Anton Yakovlev wrote: All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 56

Re: [PATCH v6 6/9] ALSA: virtio: PCM substream operators

2021-03-01 Thread Anton Yakovlev
On 28.02.2021 12:32, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:53 +0100, Anton Yakovlev wrote: [snip] +static snd_pcm_uframes_t +virtsnd_pcm_pointer(struct snd_pcm_substream *substream) +{ + struct virtio_pcm_substream *vss = snd_pcm_substream_chip(substream

Re: [PATCH v6 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-03-01 Thread Anton Yakovlev
On 28.02.2021 12:27, Takashi Iwai wrote: On Sat, 27 Feb 2021 09:59:52 +0100, Anton Yakovlev wrote: +/** + * virtsnd_pcm_event() - Handle the PCM device event notification. + * @snd: VirtIO sound device. + * @event: VirtIO sound event. + * + * Context: Interrupt context. OK, then nonatomic PCM

Re: [PATCH v6 3/9] ALSA: virtio: handling control messages

2021-02-28 Thread Anton Yakovlev
On 28.02.2021 12:04, Takashi Iwai wrote:> On Sat, 27 Feb 2021 09:59:50 +0100, Anton Yakovlev wrote: --- a/sound/virtio/virtio_card.c +++ b/sound/virtio/virtio_card.c @@ -11,6 +11,10 @@ #include "virtio_card.h" +int msg_timeout_ms = MSEC_PER_SEC; +module_param(msg_timeout_

[PATCH v6 8/9] ALSA: virtio: introduce PCM channel map support

2021-02-27 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 10 ++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 219 sound

[PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support

2021-02-27 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 56 +++ sound/virtio/virtio_pcm.c | 1 + sound/virtio/virtio_pcm_ops.c | 41

[PATCH v6 7/9] ALSA: virtio: introduce jack support

2021-02-27 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 14

[PATCH v6 6/9] ALSA: virtio: PCM substream operators

2021-02-27 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 2 + sound/virtio/virtio_pcm.h | 4 + sound/virtio/virtio_pcm_ops.c | 453 ++ 4

[PATCH v6 2/9] ALSA: virtio: add virtio sound driver

2021-02-27 Thread Anton Yakovlev
Introduce skeleton of the virtio sound driver. The driver implements the virtio sound device specification, which has become part of the virtio standard. Initial initialization of the device, virtqueues and creation of an empty ALSA sound device. Signed-off-by: Anton Yakovlev --- MAINTAINERS

[PATCH v6 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-02-27 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v6 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-02-27 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 14 ++ sound/virtio/virtio_card.h | 10 + sound

[PATCH v6 3/9] ALSA: virtio: handling control messages

2021-02-27 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 13 ++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 310 ++ sound/virtio/virtio_ctl_msg.h | 78 + 5 files

[PATCH v6 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-02-27 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

Re: [PATCH v5 6/9] ALSA: virtio: PCM substream operators

2021-02-26 Thread Anton Yakovlev
ing from the changes put in sound/* directory. Then should I update the MAINTAINERS and add Takashi instead of Michael, or should I put both of you there? -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin

Re: [PATCH v5 6/9] ALSA: virtio: PCM substream operators

2021-02-26 Thread Anton Yakovlev
On 26.02.2021 15:23, Takashi Iwai wrote: On Thu, 25 Feb 2021 23:19:31 +0100, Anton Yakovlev wrote: On 25.02.2021 21:30, Takashi Iwai wrote:> On Thu, 25 Feb 2021 20:02:50 +0100, Michael S. Tsirkin wrote: On Thu, Feb 25, 2021 at 01:51:16PM +0100, Takashi Iwai wrote: On Thu, 25 Feb 2021 13

Re: [PATCH v5 6/9] ALSA: virtio: PCM substream operators

2021-02-25 Thread Anton Yakovlev
On 25.02.2021 21:30, Takashi Iwai wrote:> On Thu, 25 Feb 2021 20:02:50 +0100, Michael S. Tsirkin wrote: On Thu, Feb 25, 2021 at 01:51:16PM +0100, Takashi Iwai wrote: On Thu, 25 Feb 2021 13:14:37 +0100, Anton Yakovlev wrote: [snip] Takashi given I was in my tree for a while and I plan

Re: [PATCH v5 6/9] ALSA: virtio: PCM substream operators

2021-02-25 Thread Anton Yakovlev
On 25.02.2021 11:55, Takashi Iwai wrote: On Mon, 22 Feb 2021 16:34:41 +0100, Anton Yakovlev wrote: +static int virtsnd_pcm_open(struct snd_pcm_substream *substream) +{ + struct virtio_pcm *vpcm = snd_pcm_substream_chip(substream); + struct virtio_pcm_substream *vss = NULL; + + if

Re: [PATCH v5 2/9] ALSA: virtio: add virtio sound driver

2021-02-25 Thread Anton Yakovlev
On 25.02.2021 11:38, Takashi Iwai wrote: On Mon, 22 Feb 2021 16:34:37 +0100, Anton Yakovlev wrote: +static int virtsnd_find_vqs(struct virtio_snd *snd) +{ + struct virtio_device *vdev = snd->vdev; + vq_callback_t *callbacks[VIRTIO_SND_VQ_MAX] = { + [VIRTIO_SND_VQ_EV

[PATCH v5 9/9] ALSA: virtio: introduce device suspend/resume support

2021-02-22 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 57 +++ sound/virtio/virtio_pcm.c | 1 + sound/virtio/virtio_pcm_ops.c | 44

[PATCH v5 6/9] ALSA: virtio: PCM substream operators

2021-02-22 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 2 + sound/virtio/virtio_pcm.h | 4 + sound/virtio/virtio_pcm_ops.c | 469 ++ 4

[PATCH v5 8/9] ALSA: virtio: introduce PCM channel map support

2021-02-22 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 10 ++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 219 sound

[PATCH v5 7/9] ALSA: virtio: introduce jack support

2021-02-22 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 14

[PATCH v5 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-02-22 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v5 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-02-22 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 14 ++ sound/virtio/virtio_card.h | 10 + sound

[PATCH v5 2/9] ALSA: virtio: add virtio sound driver

2021-02-22 Thread Anton Yakovlev
. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 9 + include/uapi/linux/virtio_snd.h | 334 +++ sound/Kconfig | 2 + sound/Makefile | 3 +- sound/virtio/Kconfig| 10 + sound/virtio/Makefile

[PATCH v5 3/9] ALSA: virtio: handling control messages

2021-02-22 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 13 ++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 310 ++ sound/virtio/virtio_ctl_msg.h | 78 + 5 files

[PATCH v5 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-02-22 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

[PATCH v4 8/9] ALSA: virtio: introduce PCM channel map support

2021-02-21 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 10 ++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 219 sound

[PATCH v4 7/9] ALSA: virtio: introduce jack support

2021-02-21 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 14

[PATCH v4 6/9] ALSA: virtio: PCM substream operators

2021-02-21 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 2 + sound/virtio/virtio_pcm.h | 4 + sound/virtio/virtio_pcm_ops.c | 469 ++ 4

[PATCH v4 9/9] ALSA: virtio: introduce device suspend/resume support

2021-02-21 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 57 +++ sound/virtio/virtio_pcm.c | 1 + sound/virtio/virtio_pcm_ops.c | 44

[PATCH v4 2/9] ALSA: virtio: add virtio sound driver

2021-02-21 Thread Anton Yakovlev
. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 9 + include/uapi/linux/virtio_snd.h | 334 +++ sound/Kconfig | 2 + sound/Makefile | 3 +- sound/virtio/Kconfig| 10 + sound/virtio/Makefile

[PATCH v4 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-02-21 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v4 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-02-21 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 14 ++ sound/virtio/virtio_card.h | 10 + sound

[PATCH v4 3/9] ALSA: virtio: handling control messages

2021-02-21 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 13 ++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 310 ++ sound/virtio/virtio_ctl_msg.h | 78 + 5 files

[PATCH v4 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-02-21 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

[PATCH v3 8/9] ALSA: virtio: introduce PCM channel map support

2021-02-09 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 10 ++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 219 sound

[PATCH v3 9/9] ALSA: virtio: introduce device suspend/resume support

2021-02-09 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 57 +++ sound/virtio/virtio_pcm.c | 1 + sound/virtio/virtio_pcm_ops.c | 44

[PATCH v3 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-02-09 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 14 ++ sound/virtio/virtio_card.h | 10 + sound

[PATCH v3 6/9] ALSA: virtio: PCM substream operators

2021-02-09 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 2 + sound/virtio/virtio_pcm.h | 4 + sound/virtio/virtio_pcm_ops.c | 471 ++ 4

[PATCH v3 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-02-09 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v3 7/9] ALSA: virtio: introduce jack support

2021-02-09 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 14

[PATCH v3 3/9] ALSA: virtio: handling control messages

2021-02-09 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 13 ++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 311 ++ sound/virtio/virtio_ctl_msg.h | 78 + 5 files

[PATCH v3 2/9] ALSA: virtio: add virtio sound driver

2021-02-09 Thread Anton Yakovlev
. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 9 + include/uapi/linux/virtio_snd.h | 334 +++ sound/Kconfig | 2 + sound/Makefile | 3 +- sound/virtio/Kconfig| 10 + sound/virtio/Makefile

[PATCH v3 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-02-09 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

Re: [virtio-dev] Re: [PATCH v2 2/9] ALSA: virtio: add virtio sound driver

2021-02-03 Thread Anton Yakovlev
Hi Takashi, On 03.02.2021 17:59, Takashi Iwai wrote: On Tue, 02 Feb 2021 00:18:09 +0100, Anton Yakovlev wrote: +/** + * virtsnd_reset_fn() - Kernel worker's function to reset the device. + * @work: Reset device work. + * + * Context: Process context. + */ +static void virtsnd_reset_fn(s

Re: [PATCH v2 8/9] ALSA: virtio: introduce PCM channel map support

2021-02-01 Thread Anton Yakovlev
On 26.01.2021 10:22, Guennadi Liakhovetski wrote: > CAUTION: This email originated from outside of the organization. > Do not click links or open attachments unless you recognize the sender > and know the content is safe. > > > On Sun, 24 Jan 2021, Anton Yakovlev wrote:

Re: [PATCH v2 6/9] ALSA: virtio: PCM substream operators

2021-02-01 Thread Anton Yakovlev
On 25.01.2021 17:59, Guennadi Liakhovetski wrote: > On Sun, 24 Jan 2021, Anton Yakovlev wrote: > > [snip] > >> +/** >> + * virtsnd_pcm_release() - Release the PCM substream on the device side. >> + * @substream: VirtIO substream. >> + * >> + *

Re: [PATCH v2 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-02-01 Thread Anton Yakovlev
bled written in the trigger() substream operator read in the virtsnd_pcm_msg_complete() ALSA takes some substream locks while calling for trigger/pointer(). Unfortunately, we cannot use the same substream locks here, as it opens up many control paths leading to deadlock. And all that remains is either to use atomic fields, or to introduce our own spinlock for each substream (to protect these fields). Personally, I don't know which would be better. But the code with atomic fields looks at least simpler. >> + >> + /* >> + * If the capture substream returned an incorrect status, then just >> + * increase the hw_ptr by the period size. >> + */ >> + if (substream->direction == SNDRV_PCM_STREAM_PLAYBACK || >> + size <= sizeof(msg->status)) { >> + hw_ptr += substream->period_size; >> + } else { >> + size -= sizeof(msg->status); >> + hw_ptr += size / substream->frame_bytes; >> + } >> + >> + atomic_set(&substream->hw_ptr, (u32)(hw_ptr % >> substream->buffer_size)); >> + atomic_set(&substream->xfer_xrun, 0); >> + >> + msg_count = atomic_dec_return(&substream->msg_count); >> + >> + if (atomic_read(&substream->xfer_enabled)) { >> + struct snd_pcm_runtime *runtime = >> substream->substream->runtime; >> + >> + runtime->delay = >> + bytes_to_frames(runtime, >> + >> le32_to_cpu(msg->status.latency_bytes)); >> + >> + snd_pcm_period_elapsed(substream->substream); >> + >> + virtsnd_pcm_msg_send(substream); >> + } else if (!msg_count) { >> + wake_up_all(&substream->msg_empty); >> + } >> +} > > Thanks > Guennadi > -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin www.opensynergy.com

Re: [virtio-dev] Re: [PATCH v2 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-02-01 Thread Anton Yakovlev
On 25.01.2021 16:44, Guennadi Liakhovetski wrote: > On Sun, 24 Jan 2021, Anton Yakovlev wrote: > ...[snip]... >> >> diff --git a/sound/virtio/virtio_card.c b/sound/virtio/virtio_card.c >> index 955eadc2d858..39fe13b43dd1 100644 >> --- a/sound/virtio/virti

Re: [virtio-dev] Re: [PATCH v2 3/9] ALSA: virtio: handling control messages

2021-02-01 Thread Anton Yakovlev
is also taken on success, so maybe better just call > the lable "exit" or similar. Ok! Then I probably need to check for other goto cases as well. ...[snip]... >> + >> +/** >> + * virtsnd_ctl_msg_unref() - Decrement reference counter for the >> message. >> + * @vdev: VirtIO parent device. >> + * @msg: Control message. >> + * >> + * The message will be freed when the ref_count value is 0. >> + * >> + * Context: Any context. >> + */ >> +static inline void virtsnd_ctl_msg_unref(struct virtio_device *vdev, >> + struct virtio_snd_msg *msg) >> +{ >> + if (!atomic_dec_return(&msg->ref_count)) > > Since you use atomic operations, this function can probably be called with > no additional locking right? But if so, couldn't it be preempted here > between the check and the call to kfree()? As was mentioned in a previous > review, the use of atomic operations in this series has to be very > carefully examined... The control message workflow is implemented in such a way that all necessary increments occur before the first possible call to this function. So even if preemption does occur, it shouldn't be a problem. >> + devm_kfree(&vdev->dev, msg); >> +} >> + ...[snip]... > > - > To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org > For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org > > -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin www.opensynergy.com

Re: [virtio-dev] Re: [PATCH v2 2/9] ALSA: virtio: add virtio sound driver

2021-02-01 Thread Anton Yakovlev
(rc) >> + dev_warn(dev, "bus->remove() failed: %d", rc); >> + >> + rc = dev->bus->probe(dev); >> + if (rc) >> + dev_err(dev, "bus->probe() failed: %d", rc); > > This looks very suspicious to me. Wondering what

[PATCH v2 9/9] ALSA: virtio: introduce device suspend/resume support

2021-01-24 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 54 sound/virtio/virtio_pcm.c | 40 +++ sound/virtio/virtio_pcm.h | 6 +++ sound/virtio

[PATCH v2 8/9] ALSA: virtio: introduce PCM channel map support

2021-01-24 Thread Anton Yakovlev
Enumerate all available PCM channel maps and create ALSA controls. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 15 +++ sound/virtio/virtio_card.h | 8 ++ sound/virtio/virtio_chmap.c | 237 sound

[PATCH v2 6/9] ALSA: virtio: PCM substream operators

2021-01-24 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 5 +- sound/virtio/virtio_pcm.h | 2 + sound/virtio/virtio_pcm_ops.c | 513 ++ 4

[PATCH v2 7/9] ALSA: virtio: introduce jack support

2021-01-24 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 18

[PATCH v2 5/9] ALSA: virtio: handling control and I/O messages for the PCM device

2021-01-24 Thread Anton Yakovlev
messages are organized in an ordered queue. The completion of the I/O message indicates an elapsed period (the only exception is the end of the stream for the capture substream). Upon completion, the message is automatically re-added to the end of the queue. Signed-off-by: Anton Yakovlev

[PATCH v2 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors

2021-01-24 Thread Anton Yakovlev
hardware buffer parameters: pcm_buffer_ms [=160] pcm_periods_min [=2] pcm_periods_max [=16] pcm_period_ms_min [=10] pcm_period_ms_max [=80] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c | 45 sound/virtio/virtio_card.h | 9 + sound

[PATCH v2 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-01-24 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

Re: [PATCH 0/7] ALSA: add virtio sound driver

2021-01-24 Thread Anton Yakovlev
Hi, Liam! On 20.01.2021 11:10, Girdwood, Liam R wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. Hi Anton, On Wed, 2021-01-20 at 01:36 +0100, Anton Yakovlev wrote

[PATCH v2 3/9] ALSA: virtio: handling control messages

2021-01-24 Thread Anton Yakovlev
: msg_timeout_ms [=1000] Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 20 +++ sound/virtio/virtio_card.h| 7 + sound/virtio/virtio_ctl_msg.c | 293 ++ sound/virtio/virtio_ctl_msg.h | 122 ++ 5

[PATCH v2 2/9] ALSA: virtio: add virtio sound driver

2021-01-24 Thread Anton Yakovlev
. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 9 + include/uapi/linux/virtio_snd.h | 361 +++ sound/Kconfig | 2 + sound/Makefile | 3 +- sound/virtio/Kconfig| 10 + sound/virtio/Makefile

Re: [PATCH 5/7] ALSA: virtio: PCM substream operators

2021-01-24 Thread Anton Yakovlev
On 20.01.2021 09:36, Michael S. Tsirkin wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. On Wed, Jan 20, 2021 at 01:36:33AM +0100, Anton Yakovlev wrote: Introduce

Re: [PATCH 4/7] ALSA: virtio: handling control and I/O messages for the PCM device

2021-01-24 Thread Anton Yakovlev
On 20.01.2021 09:29, Michael S. Tsirkin wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. On Wed, Jan 20, 2021 at 01:36:32AM +0100, Anton Yakovlev wrote: The driver

Re: [PATCH 3/7] ALSA: virtio: add virtio sound driver

2021-01-24 Thread Anton Yakovlev
On 20.01.2021 09:26, Michael S. Tsirkin wrote: CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. On Wed, Jan 20, 2021 at 01:36:31AM +0100, Anton Yakovlev wrote: Introduce

Re: [PATCH 2/7] uapi: virtio_snd: add the sound device header file

2021-01-24 Thread Anton Yakovlev
:30AM +0100, Anton Yakovlev wrote: The file contains the definitions for the sound device from the OASIS virtio spec. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 6 + include/uapi/linux/virtio_snd.h | 361 2 files changed, 367

[PATCH 0/7] ALSA: add virtio sound driver

2021-01-19 Thread Anton Yakovlev
3/msg00185.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Anton Yakovlev (7): uapi: virtio_ids: add a sound device type ID from OASIS spec uapi: virtio_snd: add the sound device header file ALSA: virtio: add virtio sound driver ALSA: virtio: handling control and I/O me

[PATCH 1/7] uapi: virtio_ids: add a sound device type ID from OASIS spec

2021-01-19 Thread Anton Yakovlev
The OASIS virtio spec defines a sound device type ID that is not present in the header yet. Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h index bc1c0621f5ed

[PATCH 2/7] uapi: virtio_snd: add the sound device header file

2021-01-19 Thread Anton Yakovlev
The file contains the definitions for the sound device from the OASIS virtio spec. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 6 + include/uapi/linux/virtio_snd.h | 361 2 files changed, 367 insertions(+) create mode 100644 include

[PATCH 3/7] ALSA: virtio: add virtio sound driver

2021-01-19 Thread Anton Yakovlev
. Signed-off-by: Anton Yakovlev --- MAINTAINERS | 2 + sound/Kconfig | 2 + sound/Makefile| 3 +- sound/virtio/Kconfig | 10 + sound/virtio/Makefile | 9 + sound/virtio/virtio_card.c| 473

[PATCH 6/7] ALSA: virtio: introduce jack support

2021-01-19 Thread Anton Yakovlev
Enumerate all available jacks and create ALSA controls. At the moment jacks have a simple implementation and can only be used to receive notifications about a plugged in/out device. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 2 + sound/virtio/virtio_card.c | 33

[PATCH 4/7] ALSA: virtio: handling control and I/O messages for the PCM device

2021-01-19 Thread Anton Yakovlev
cached in the virtio substream, which are required to calculate the new value of the hw_ptr. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_card.c| 33 sound/virtio/virtio_card.h| 9 + sound/virtio/virtio_pcm.c | 3 + sound/virtio

[PATCH 5/7] ALSA: virtio: PCM substream operators

2021-01-19 Thread Anton Yakovlev
Introduce the operators required for the operation of substreams. Signed-off-by: Anton Yakovlev --- sound/virtio/Makefile | 3 +- sound/virtio/virtio_pcm.c | 5 +- sound/virtio/virtio_pcm.h | 2 + sound/virtio/virtio_pcm_ops.c | 509 ++ 4

[PATCH 7/7] ALSA: virtio: introduce device suspend/resume support

2021-01-19 Thread Anton Yakovlev
All running PCM substreams are stopped on device suspend and restarted on device resume. Signed-off-by: Anton Yakovlev --- sound/virtio/virtio_card.c| 54 sound/virtio/virtio_pcm.c | 40 +++ sound/virtio/virtio_pcm.h | 6 +++ sound/virtio