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

From: Anton Yakovlev
Date: Tue Jan 19 2021 - 19:50:15 EST


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-based transport is used to write/read
PCM frames to/from a device.

The series is based (and was actually tested) on Linus's master
branch [2], on top of

commit 1e2a199f6ccd ("Merge tag 'spi-fix-v5.11-rc4' of ...")

As a device part was used OpenSynergy proprietary implementation.

Any comments are very welcome.

[1] https://lists.oasis-open.org/archives/virtio-dev/202003/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 messages for the PCM device
ALSA: virtio: PCM substream operators
ALSA: virtio: introduce jack support
ALSA: virtio: introduce device suspend/resume support

MAINTAINERS | 8 +
include/uapi/linux/virtio_ids.h | 1 +
include/uapi/linux/virtio_snd.h | 361 +++++++++++++++++++
sound/Kconfig | 2 +
sound/Makefile | 3 +-
sound/virtio/Kconfig | 10 +
sound/virtio/Makefile | 13 +
sound/virtio/virtio_card.c | 593 ++++++++++++++++++++++++++++++++
sound/virtio/virtio_card.h | 121 +++++++
sound/virtio/virtio_chmap.c | 237 +++++++++++++
sound/virtio/virtio_ctl_msg.c | 293 ++++++++++++++++
sound/virtio/virtio_ctl_msg.h | 122 +++++++
sound/virtio/virtio_jack.c | 255 ++++++++++++++
sound/virtio/virtio_pcm.c | 582 +++++++++++++++++++++++++++++++
sound/virtio/virtio_pcm.h | 132 +++++++
sound/virtio/virtio_pcm_msg.c | 317 +++++++++++++++++
sound/virtio/virtio_pcm_ops.c | 524 ++++++++++++++++++++++++++++
17 files changed, 3573 insertions(+), 1 deletion(-)
create mode 100644 include/uapi/linux/virtio_snd.h
create mode 100644 sound/virtio/Kconfig
create mode 100644 sound/virtio/Makefile
create mode 100644 sound/virtio/virtio_card.c
create mode 100644 sound/virtio/virtio_card.h
create mode 100644 sound/virtio/virtio_chmap.c
create mode 100644 sound/virtio/virtio_ctl_msg.c
create mode 100644 sound/virtio/virtio_ctl_msg.h
create mode 100644 sound/virtio/virtio_jack.c
create mode 100644 sound/virtio/virtio_pcm.c
create mode 100644 sound/virtio/virtio_pcm.h
create mode 100644 sound/virtio/virtio_pcm_msg.c
create mode 100644 sound/virtio/virtio_pcm_ops.c

--
2.30.0