[PATCH 00/12] ASoC: SOF DSP virtualisation
Guennadi Liakhovetski
guennadi.liakhovetski at linux.intel.com
Fri Mar 20 16:40:09 CET 2020
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 at linux.intel.com>
v2: one patch merged, one patch resubmitted separately, otherwise
no changes.
[1] https://thesofproject.github.io/latest/developer_guides/virtualization/virtualization.html
Guennadi Liakhovetski (12):
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: add a VirtIO DSP driver
ASoC: SOF: add a vhost driver: sound part
vhost: add an SOF DSP driver
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 | 15 +-
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 | 71 ++-
sound/soc/sof/vhost-be.c | 1248 ++++++++++++++++++++++++++++++++++++++
sound/soc/sof/virtio-fe.c | 922 ++++++++++++++++++++++++++++
29 files changed, 3555 insertions(+), 109 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
More information about the Alsa-devel
mailing list