Re: [PATCH v2] ALSA: virtio: use copy and fill_silence callbacks

2023-10-23 Thread Anton Yakovlev via Virtualization
Hi Takashi, On 19.10.2023 16:48, Takashi Iwai wrote: On Thu, 19 Oct 2023 03:20:19 +0200, Anton Yakovlev wrote: Hi Takashi, On 19.10.2023 03:07, Takashi Iwai wrote: On Wed, 18 Oct 2023 12:48:23 +0200, Matias Ezequiel Vara Larsen wrote: This commit replaces the mmap mechanism with the copy

Re: [PATCH v3] ALSA: virtio: use ack callback

2023-10-23 Thread Anton Yakovlev via Virtualization
it in the used ring. It is only after the ack() for capturing is issued that the driver re-enqueues the buffer in the available ring. Co-developed-by: Anton Yakovlev Signed-off-by: Anton Yakovlev Signed-off-by: Matias Ezequiel Vara Larsen --- Changelog: v2 -> v3: * Use ack() callback in

Re: [virtio-comment] Re: virtio-sound: release control request clarification

2023-10-18 Thread Anton Yakovlev via Virtualization
Hi Matias, On 18.10.2023 22:30, Matias Ezequiel Vara Larsen wrote: Hello Anton, thanks for the response. I added some inline comments. On Wed, Oct 18, 2023 at 10:06:05AM +0900, Anton Yakovlev wrote: Hi Matias, On 18.10.2023 00:19, Matias Ezequiel Vara Larsen wrote: Hello, This email is

Re: [PATCH v2] ALSA: virtio: use copy and fill_silence callbacks

2023-10-18 Thread Anton Yakovlev via Virtualization
vice. After device updates the content of a buffer, it enqueues it in the used ring. It is only after the copy() for capturing is issued that the driver re-enqueues the buffer in the available ring. Co-developed-by: Anton Yakovlev Signed-off-by: Matias Ezequiel Vara Larsen --

Re: virtio-sound: release control request clarification

2023-10-17 Thread Anton Yakovlev via Virtualization
33bb129a [2] https://github.com/rust-vmm/vhost-device/tree/main/staging/vhost-device-sound -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Virtualization mailing list Virtualization@lists.linux-foundation.o

Re: [RFC PATCH] ALSA: virtio: use copy and fill_silence callbacks

2023-10-17 Thread Anton Yakovlev via Virtualization
Hi Matias, On 17.10.2023 21:54, Matias Ezequiel Vara Larsen wrote: Hello Anton, Thanks for your help! I am going to send a second version of the patch with your changes. Is it OK if I add you with the "Co-developed-by" tag?. Yes, I'm fine with that. :) Best regards, --

Re: [RFC PATCH] ALSA: virtio: use copy and fill_silence callbacks

2023-10-17 Thread Anton Yakovlev via Virtualization
d_pcm_lib_ioctl, @@ -461,4 +532,5 @@ const struct snd_pcm_ops virtsnd_pcm_ops = { .trigger = virtsnd_pcm_trigger, .sync_stop = virtsnd_pcm_sync_stop, .pointer = virtsnd_pcm_pointer, + .copy = virtsnd_pcm_cap_copy, }; base-commit: 8a749fd1a8720d4619c91c8b6e7528c0a355c0aa -- Anton Yakov

Re: virtio-sound linux driver conformance to spec

2023-09-24 Thread Anton Yakovlev via Virtualization
o implement read/write() operations for the substream, and disable MMAP access mode. I'll try, but I'm not sure I'll have enough time for this in the near future. -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin _

Re: virtio-sound linux driver conformance to spec

2023-09-24 Thread Anton Yakovlev via Virtualization
emory. Then it should be possible to implement mmap() support on top of it. -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Virtualization mailing list Virtualization@lists.linux-foundation.org

Re: [virtio-comment] Re: virtio-sound linux driver conformance to spec

2023-09-24 Thread Anton Yakovlev via Virtualization
s allow the use of shared memory, it was decided to make message-passing the basis. For shared memory, stream features were reserved for further work on the spec. -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Vi

Re: [virtio-comment] Re: virtio-sound linux driver conformance to spec

2023-09-24 Thread Anton Yakovlev via Virtualization
Hello Paolo, On 19.09.2023 15:58, Paolo Bonzini wrote: On 9/19/23 02:35, Anton Yakovlev wrote: If the Linux virtio sound driver violates a specification, then there must be a conformance statement that the driver does not follow. As far as I know, there is no such thing at the moment. There

Re: virtio-sound linux driver conformance to spec

2023-09-18 Thread Anton Yakovlev via Virtualization
logic cannot be reliably applied to MMAP mode. Best regards, -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https

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

2022-03-07 Thread Anton Yakovlev
*/ VIRTIO_SND_EVT_CTL_NOTIFY = 0x1200, ... }; See additional details in [1]. [1] https://lists.oasis-open.org/archives/virtio-comment/202104/msg00013.html Signed-off-by: Anton Yakovlev --- include/uapi/linux/virtio_snd.h | 154 +++ sound/virtio/Makefile | 1 + sound/virtio

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

2022-03-07 Thread Anton Yakovlev
Anton Yakovlev (1): ALSA: virtio: add support for audio controls include/uapi/linux/virtio_snd.h | 154 +++ sound/virtio/Makefile | 1 + sound/virtio/virtio_card.c | 21 ++ sound/virtio/virtio_card.h | 22 ++ sound/virtio/virtio_kctl.c | 464

Re: [PATCH RFC] virtio: wrap config->reset calls

2021-10-13 Thread Anton Yakovlev
-- sound/virtio/virtio_card.c | 4 ++-- Reviewed-by: Anton Yakovlev -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Virtualization mailing list Virtualization@lists.linux-foundation

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: virtualization@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 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 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

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

2021-03-02 Thread Anton Yakovlev
it was previously suspended. - Some additional code readability improvements/comments. [1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html Anton Yakovlev (9): uapi: virtio_ids: add a sound device type ID from OASIS spec ALSA: virtio: add virtio sound driver ALSA: vir

[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 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 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 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 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 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

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-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: [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 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 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 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 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 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 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 0/9] ALSA: add virtio sound driver

2021-02-27 Thread Anton Yakovlev
requires a separate discussion of the possibility of implementing such handling for virtio devices whose configuration may change (which may require re-probing, like in case of the sound device). [1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html Anton Yakovlev (9): uapi

[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, 1024

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

Re: [virtio-dev] Re: [PATCH v5 0/9] ALSA: add virtio sound driver

2021-02-23 Thread Anton Yakovlev
On 23.02.2021 13:09, Michael S. Tsirkin wrote: On Mon, Feb 22, 2021 at 04:34:35PM +0100, Anton Yakovlev wrote: This series implements a driver part of the virtio sound device specification v8 [1]. The driver supports PCM playback and capture substreams, jack and channel map controls. A message

[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 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 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 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 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 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 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 v5 0/9] ALSA: add virtio sound driver

2021-02-22 Thread Anton Yakovlev
msg00185.html Anton Yakovlev (9): uapi: virtio_ids: add a sound device type ID from OASIS spec ALSA: virtio: add virtio sound driver ALSA: virtio: handling control messages ALSA: virtio: build PCM devices and substream hardware descriptors ALSA: virtio: handling control and I/O messages

[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 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 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 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 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 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 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 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 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 0/9] ALSA: add virtio sound driver

2021-02-21 Thread Anton Yakovlev
proprietary implementation. v4 changes: - fixed sparse warnings, no functional change [1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html Anton Yakovlev (9): uapi: virtio_ids: add a sound device type ID from OASIS spec ALSA: virtio: add virtio sound driver ALSA: virtio

[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 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 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 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 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 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 0/9] ALSA: add virtio sound driver

2021-02-09 Thread Anton Yakovlev
tream release wait function. [6/9] virtio_pcm_ops.c:virtsnd_pcm_released() [1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html Anton Yakovlev (9): uapi: virtio_ids: add a sound device type ID from OASIS spec ALSA: virtio: add virtio sound driver ALSA: virtio: han

[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: [PATCH v2 0/9] ALSA: add virtio sound driver

2021-02-08 Thread Anton Yakovlev
hanks, Takashi -- Anton Yakovlev Senior Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization

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 fiel

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

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 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 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 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 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

[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

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

2021-01-24 Thread Anton Yakovlev
tx/rx interrupt handler: [5/9] virtio_pcm_msg.c:virtsnd_pcm_msg_complete() 8. Added additional comments to substream release wait function. [6/9] virtio_pcm_ops.c:virtsnd_pcm_released() [1] https://lists.oasis-open.org/archives/virtio-dev/202003/msg00185.html [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux

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

  1   2   >