alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] ASoC: SOF DSP virtualisation
@ 2020-03-12 14:44 Guennadi Liakhovetski
  2020-03-12 14:44 ` [PATCH 01/14] ASoC: add function parameters to enable forced path pruning Guennadi Liakhovetski
                   ` (14 more replies)
  0 siblings, 15 replies; 27+ messages in thread
From: Guennadi Liakhovetski @ 2020-03-12 14:44 UTC (permalink / raw)
  To: alsa-devel; +Cc: Liam Girdwood, Takashi Iwai, Mark Brown, sound-open-firmware

This patch series extends the SOF driver to add support for DSP
virtualisation to ASoC. It is built on top of VirtIO, contains a
guest driver and a vhost in-kernel guest driver. This version
supports a single playback and a single capture interface on the
guest. The specific guest audio topology is supplied by the host
from a file, specified on the QEMU command line. This solution is
designed to use advanced DSP functionality, available on the host.
In case no DSP is available on the host, a fall-back should be
provided in the future to the pure audio virtualisation standard,
currently developed by OASIS.

Extensive documentation is available at [1].

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>

[1] https://thesofproject.github.io/latest/developer_guides/virtualization/virtualization.html

Guennadi Liakhovetski (14):
  ASoC: add function parameters to enable forced path pruning
  ASoC: SOF: extract firmware-related operation into a function
  ASoC: SOF: VirtIO: make a function global
  vhost: convert VHOST_VSOCK_SET_RUNNING to a generic ioctl
  ASoC: SOF: support IPC with immediate response
  ASoC: SOF: add a power status IPC
  ASoC: SOF: add two helper lookup functions
  ASoC: SOF: fix uninitialised "work" with VirtIO
  ASoC: SOF: add a VirtIO DSP driver
  ASoC: SOF: add a vhost driver: sound part
  vhost: add an SOF DSP driver
  ASoC: SOF: VirtIO: check guest component IDs
  ASoC: SOF: VirtIO: free guest pipelines upon termination
  ASoC: SOF: VirtIO: enable simultaneous playback and capture

 drivers/vhost/Kconfig            |    7 +
 drivers/vhost/Makefile           |    5 +
 drivers/vhost/dsp.c              |  731 ++++++++++++++++++++++
 include/sound/soc-dpcm.h         |   28 +-
 include/sound/soc-topology.h     |    3 +
 include/sound/sof.h              |    4 +
 include/sound/sof/header.h       |    3 +
 include/sound/sof/topology.h     |    1 +
 include/sound/sof/virtio.h       |  206 +++++++
 include/uapi/linux/vhost.h       |    9 +-
 include/uapi/linux/vhost_types.h |    7 +
 include/uapi/linux/virtio_ids.h  |    1 +
 sound/soc/soc-compress.c         |    2 +-
 sound/soc/soc-dapm.c             |    8 +-
 sound/soc/soc-pcm.c              |   98 ++-
 sound/soc/sof/Kconfig            |    8 +
 sound/soc/sof/Makefile           |    8 +
 sound/soc/sof/core.c             |  114 ++--
 sound/soc/sof/ipc.c              |   39 +-
 sound/soc/sof/loader.c           |    4 +
 sound/soc/sof/ops.h              |   10 +-
 sound/soc/sof/pcm.c              |   17 +-
 sound/soc/sof/pm.c               |    4 +
 sound/soc/sof/sof-audio.c        |   33 +
 sound/soc/sof/sof-audio.h        |   21 +
 sound/soc/sof/sof-priv.h         |   54 ++
 sound/soc/sof/topology.c         |   76 ++-
 sound/soc/sof/vhost-be.c         | 1248 ++++++++++++++++++++++++++++++++++++++
 sound/soc/sof/virtio-fe.c        |  922 ++++++++++++++++++++++++++++
 29 files changed, 3560 insertions(+), 111 deletions(-)
 create mode 100644 drivers/vhost/dsp.c
 create mode 100644 include/sound/sof/virtio.h
 create mode 100644 sound/soc/sof/vhost-be.c
 create mode 100644 sound/soc/sof/virtio-fe.c

-- 
1.9.3


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

end of thread, other threads:[~2020-03-23 12:38 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-12 14:44 [PATCH 00/14] ASoC: SOF DSP virtualisation Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 01/14] ASoC: add function parameters to enable forced path pruning Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 02/14] ASoC: SOF: extract firmware-related operation into a function Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 03/14] ASoC: SOF: VirtIO: make a function global Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 04/14] vhost: convert VHOST_VSOCK_SET_RUNNING to a generic ioctl Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 05/14] ASoC: SOF: support IPC with immediate response Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 06/14] ASoC: SOF: add a power status IPC Guennadi Liakhovetski
2020-03-13 14:39   ` Mark Brown
2020-03-20 11:52     ` Guennadi Liakhovetski
2020-03-20 12:19       ` Mark Brown
2020-03-20 13:27         ` Guennadi Liakhovetski
2020-03-20 15:07           ` Guennadi Liakhovetski
2020-03-20 16:39             ` Mark Brown
2020-03-23  9:31               ` Guennadi Liakhovetski
2020-03-23 12:37                 ` Mark Brown
2020-03-12 14:44 ` [PATCH 07/14] ASoC: SOF: add two helper lookup functions Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 08/14] ASoC: SOF: fix uninitialised "work" with VirtIO Guennadi Liakhovetski
2020-03-13 14:45   ` Mark Brown
2020-03-13 15:24   ` [Sound-open-firmware] " Sridharan, Ranjani
2020-03-12 14:44 ` [PATCH 09/14] ASoC: SOF: add a VirtIO DSP driver Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 10/14] ASoC: SOF: add a vhost driver: sound part Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 11/14] vhost: add an SOF DSP driver Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 12/14] ASoC: SOF: VirtIO: check guest component IDs Guennadi Liakhovetski
2020-03-13 18:39   ` Mark Brown
2020-03-12 14:44 ` [PATCH 13/14] ASoC: SOF: VirtIO: free guest pipelines upon termination Guennadi Liakhovetski
2020-03-12 14:44 ` [PATCH 14/14] ASoC: SOF: VirtIO: enable simultaneous playback and capture Guennadi Liakhovetski
2020-03-13 14:31 ` [PATCH 00/14] ASoC: SOF DSP virtualisation Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).