[Sound-open-firmware] [PATCH v2 00/12] [RESEND] ASoC: SOF DSP virtualisation

Guennadi Liakhovetski guennadi.liakhovetski at linux.intel.com
Fri Apr 3 20:09:19 CEST 2020


Hi Liam,

Thanks for the clarifications.

On Fri, Apr 03, 2020 at 05:10:20PM +0100, Liam Girdwood wrote:
> On Fri, 2020-04-03 at 13:04 +0200, Guennadi Liakhovetski wrote:
> > Hi Mark,
> > 
> > On Fri, Apr 03, 2020 at 10:28:42AM +0100, Mark Brown wrote:
> > > On Fri, Apr 03, 2020 at 11:13:54AM +0200, Guennadi Liakhovetski
> > > wrote:
> > > > 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
> > > 
> > > I've asked a couple of times for documentation of the protocol here
> > > but
> > > don't think I've seen anything yet?
> 
> Sorry Mark, the whole series should not have been sent since we are
> still pending on some OASIS standards being ratified. Guennadi, please
> just send the patches that add the protocol independent dependencies to
> ASoC and SOF driver only for review atm (patches 1,2,3,5,6 & 7).
> 
> The full series is blocking on
> 
> 1) the virto-snd patches being merged. This will then allow the code
> (when modified) to run HDA like audio on SOF DSPs.
> 
> 2) virtio DMA buffer sharing being concluded for "zero copy" usage.

I don't think we're blocked by this. If I understand correctly it is our 
intention to first upstream the present copying solution and then 
implement zero-copy as a next step.

> 3) rpmsg integration. The SOF IPC will use rpmsg virtio transport
> between host and guests.

We started discussing this on github, unfortunately this didn't come to a 
conclusion. From what I've read in the kernel, RPMSG is currencly used 
there in scenarios, that are very different from ours. Typically you have 
a Linux host, that uses RPMSG to communicate with an "embedded" 
counterpart, where that communication includes boooting ELF firmware on 
that counterpart, and then using RPMSG on top of Virtual Queues to 
communicate with it. Our case is quite different. I'm not saying, that it 
is impossible to use the Linux RPMSG subsystem for use-cases like ours, 
but it seems to me, that this would require a significant effort on the 
Linux RPMSG core implementation, and we would be the first use-case for 
this.

The rest has to be discussed.

Thanks
Guennadi

> This series does not mandate a DSP IPC standard, since this may differ
> between DSP vendors, but it will use OASIS standards for virtio-snd,
> DMA buffers and rpmsg.
> 
> I would say that parts of the "SOF protocol" may be useful for other
> vendors in the DAPM/topology areas where users want to connect guest
> topologies to host topologies (connected internally with DAPM).
> 
> Thanks
> 
> Liam
> 
> 
> 


More information about the Alsa-devel mailing list