[PATCH v2 0/9] ALSA: add virtio sound driver
Anton Yakovlev
anton.yakovlev at opensynergy.com
Sun Jan 24 17:53:59 CET 2021
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.
v1->v2 changes:
1. For some reason, in the previous patch series, several patches were
squashed. Fixed this issue to make the review easier.
2. Added mst at redhat.com to the MAINTAINERS.
3. When creating virtqueues, now only the event virtqueue is disabled.
It's enabled only after successful initialization of the device.
4. Added additional comments to the reset worker function:
[2/9] virtio_card.c:virtsnd_reset_fn()
5. Added check that VIRTIO_F_VERSION_1 feature bit is set.
6. Added additional comments to the device removing function:
[2/9] virtio_card.c:virtsnd_remove()
7. Added additional comments to the 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.git
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 for the PCM device
ALSA: virtio: PCM substream operators
ALSA: virtio: introduce jack support
ALSA: virtio: introduce PCM channel map support
ALSA: virtio: introduce device suspend/resume support
MAINTAINERS | 9 +
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 | 577 +++++++++++++++++++++++++++++++
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 | 325 ++++++++++++++++++
sound/virtio/virtio_pcm_ops.c | 528 +++++++++++++++++++++++++++++
17 files changed, 3570 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
More information about the Alsa-devel
mailing list