ALSA: virtio: handling control and I/O messages for the PCM device
authorAnton Yakovlev <anton.yakovlev@opensynergy.com>
Tue, 2 Mar 2021 16:47:05 +0000 (17:47 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sun, 7 Mar 2021 08:07:44 +0000 (09:07 +0100)
commitf40a28679e0b7cb3a9cc6627a8dbb40961990f0a
treef3666982bba98fc53612b03b559b80206d6bd7c9
parent29b96bf50ba958eb5f097cdc3fbd4c1acf9547a2
ALSA: virtio: handling control and I/O messages for the PCM device

The driver implements a message-based transport for I/O substream
operations. Before the start of the substream, the hardware buffer is
sliced into I/O messages, the number of which is equal to the current
number of periods. The size of each message is equal to the current
size of one period.

I/O 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 <anton.yakovlev@opensynergy.com>
Link: https://lore.kernel.org/r/20210302164709.3142702-6-anton.yakovlev@opensynergy.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/virtio/Makefile
sound/virtio/virtio_card.c
sound/virtio/virtio_card.h
sound/virtio/virtio_pcm.c
sound/virtio/virtio_pcm.h
sound/virtio/virtio_pcm_msg.c [new file with mode: 0644]