All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/9] ALSA: add virtio sound driver
@ 2021-02-27  8:59 ` Anton Yakovlev
  0 siblings, 0 replies; 103+ messages in thread
From: Anton Yakovlev @ 2021-02-27  8:59 UTC (permalink / raw)
  To: virtualization, alsa-devel, virtio-dev; +Cc: Takashi Iwai, Michael S. Tsirkin

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.

As a device part was used OpenSynergy proprietary implementation.

v6 changes:
 - Code readability improvements suggested by Takashi.
 - Added additional comments about PCM message lifetime.
 - Temporarily removed DEVICE_NEEDS_RESET device status handling.
   Some kind of assistance from the virtio bus/level is required. In turn, this
   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: 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 | 334 +++++++++++++++++++++
 sound/Kconfig                   |   2 +
 sound/Makefile                  |   3 +-
 sound/virtio/Kconfig            |  10 +
 sound/virtio/Makefile           |  13 +
 sound/virtio/virtio_card.c      | 410 ++++++++++++++++++++++++++
 sound/virtio/virtio_card.h      | 111 +++++++
 sound/virtio/virtio_chmap.c     | 219 ++++++++++++++
 sound/virtio/virtio_ctl_msg.c   | 310 ++++++++++++++++++++
 sound/virtio/virtio_ctl_msg.h   |  78 +++++
 sound/virtio/virtio_jack.c      | 233 +++++++++++++++
 sound/virtio/virtio_pcm.c       | 498 ++++++++++++++++++++++++++++++++
 sound/virtio/virtio_pcm.h       | 118 ++++++++
 sound/virtio/virtio_pcm_msg.c   | 417 ++++++++++++++++++++++++++
 sound/virtio/virtio_pcm_ops.c   | 478 ++++++++++++++++++++++++++++++
 17 files changed, 3243 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.1



^ permalink raw reply	[flat|nested] 103+ messages in thread

end of thread, other threads:[~2021-03-02 19:47 UTC | newest]

Thread overview: 103+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-27  8:59 [PATCH v6 0/9] ALSA: add virtio sound driver Anton Yakovlev
2021-02-27  8:59 ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59 ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 1/9] uapi: virtio_ids: add a sound device type ID from OASIS spec Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 2/9] ALSA: virtio: add virtio sound driver Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 3/9] ALSA: virtio: handling control messages Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-28 11:04   ` Takashi Iwai
2021-02-28 11:04     ` Takashi Iwai
2021-02-28 18:39     ` Anton Yakovlev
2021-02-28 18:39       ` [virtio-dev] " Anton Yakovlev
2021-02-28 18:39       ` Anton Yakovlev
2021-02-28 18:39       ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 4/9] ALSA: virtio: build PCM devices and substream hardware descriptors Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-28 11:15   ` Takashi Iwai
2021-02-28 11:15     ` Takashi Iwai
2021-02-27  8:59 ` [PATCH v6 5/9] ALSA: virtio: handling control and I/O messages for the PCM device Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-28 11:27   ` Takashi Iwai
2021-02-28 11:27     ` Takashi Iwai
2021-03-01  9:25     ` Anton Yakovlev
2021-03-01  9:25       ` [virtio-dev] " Anton Yakovlev
2021-03-01  9:25       ` Anton Yakovlev
2021-03-01  9:25       ` Anton Yakovlev
2021-03-01 13:32       ` Takashi Iwai
2021-03-01 13:32         ` Takashi Iwai
2021-03-01 14:47         ` Anton Yakovlev
2021-03-01 14:47           ` [virtio-dev] " Anton Yakovlev
2021-03-01 14:47           ` Anton Yakovlev
2021-03-01 14:47           ` Anton Yakovlev
2021-03-01 14:56           ` Takashi Iwai
2021-03-01 14:56             ` Takashi Iwai
2021-03-01 15:24             ` Anton Yakovlev
2021-03-01 15:24               ` [virtio-dev] " Anton Yakovlev
2021-03-01 15:24               ` Anton Yakovlev
2021-03-01 15:24               ` Anton Yakovlev
2021-03-01 15:30               ` Takashi Iwai
2021-03-01 15:30                 ` Takashi Iwai
2021-02-27  8:59 ` [PATCH v6 6/9] ALSA: virtio: PCM substream operators Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-28 11:32   ` Takashi Iwai
2021-02-28 11:32     ` Takashi Iwai
2021-03-01  9:29     ` Anton Yakovlev
2021-03-01  9:29       ` [virtio-dev] " Anton Yakovlev
2021-03-01  9:29       ` Anton Yakovlev
2021-03-01  9:29       ` Anton Yakovlev
2021-03-01 13:33       ` Takashi Iwai
2021-03-01 13:33         ` Takashi Iwai
2021-02-27  8:59 ` [PATCH v6 7/9] ALSA: virtio: introduce jack support Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 8/9] ALSA: virtio: introduce PCM channel map support Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59 ` [PATCH v6 9/9] ALSA: virtio: introduce device suspend/resume support Anton Yakovlev
2021-02-27  8:59   ` [virtio-dev] " Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-27  8:59   ` Anton Yakovlev
2021-02-28 12:05   ` Takashi Iwai
2021-02-28 12:05     ` Takashi Iwai
2021-03-01 10:03     ` Anton Yakovlev
2021-03-01 10:03       ` [virtio-dev] " Anton Yakovlev
2021-03-01 10:03       ` Anton Yakovlev
2021-03-01 10:03       ` Anton Yakovlev
2021-03-01 13:38       ` Takashi Iwai
2021-03-01 13:38         ` Takashi Iwai
2021-03-01 15:30         ` Anton Yakovlev
2021-03-01 15:30           ` [virtio-dev] " Anton Yakovlev
2021-03-01 15:30           ` Anton Yakovlev
2021-03-01 15:30           ` Anton Yakovlev
2021-03-02  6:29     ` Anton Yakovlev
2021-03-02  6:29       ` [virtio-dev] " Anton Yakovlev
2021-03-02  6:29       ` Anton Yakovlev
2021-03-02  6:29       ` Anton Yakovlev
2021-03-02  6:48       ` Takashi Iwai
2021-03-02  6:48         ` Takashi Iwai
2021-03-02  8:09         ` Anton Yakovlev
2021-03-02  8:09           ` [virtio-dev] " Anton Yakovlev
2021-03-02  8:09           ` Anton Yakovlev
2021-03-02  8:09           ` Anton Yakovlev
2021-03-02  9:11           ` Takashi Iwai
2021-03-02  9:11             ` Takashi Iwai
2021-03-02 15:35             ` Anton Yakovlev
2021-03-02 15:35               ` [virtio-dev] " Anton Yakovlev
2021-03-02 15:35               ` Anton Yakovlev
2021-03-02 15:35               ` Anton Yakovlev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.