virtio remoteproc device

Loic PALLARDY
Mon, 23 Apr 2018 08:55:57 -0000

> -----Original Message-----
> From: linux-remoteproc-owner at vger.kernel.org [mailto:linux-remoteproc-
> owner at vger.kernel.org] On Behalf Of Anup Patel
> Sent: Sunday, April 22, 2018 6:08 AM
> To: Michael S. Tsirkin <mst at redhat.com>
> Cc: linux-remoteproc at vger.kernel.org; Ohad Ben-Cohen
> <ohad at wizery.com>; Bjorn Andersson <bjorn.andersson at
linaro.org>;
> virtualization at lists.linux-foundation.org
> Subject: Re: virtio remoteproc device
>
> On Fri, Apr 20, 2018 at 10:23 PM, Michael S. Tsirkin <mst at
redhat.com>
> wrote:
> > Hello!
> > I note the following in the serial console:
> >
> >       if (is_rproc_serial(vdev)) {
> >                 /*
> >                  * Allocate DMA memory from ancestor. When a virtio
> >                  * device is created by remoteproc, the DMA memory is
> >                  * associated with the grandparent device:
> >                  * vdev => rproc => platform-dev.
> >                  */
> >                 if (!vdev->dev.parent ||
!vdev->dev.parent->parent)
> >                         goto free_buf;
> >                 buf->dev = vdev->dev.parent->parent;
> >
> >                 /* Increase device refcnt to avoid freeing it */
> >                 get_device(buf->dev);
> >                 buf->buf = dma_alloc_coherent(buf->dev,
buf_size, &buf->dma,
> >                                               GFP_KERNEL);
> >         }
> >
> > Added here:
> >         commit 1b6370463e88b0c1c317de16d7b962acc1dab4f2
> >         Author: Sjur Br?ndeland <sjur.brandeland at
stericsson.com>
> >         Date:   Fri Dec 14 14:40:51 2012 +1030
> >
> >     virtio_console: Add support for remoteproc serial
> >
> >
> > I am not familiar with rproc so I have a question:
> > why is it required to use coherent memory here,
> > and why through a grandparent device?
>
> I faced similar issue when I tried VirtIO RPMSG bus over
> VirtIO MMIO transport.
>
> Here's my fix for VirtIO RPMSG bus driver:
> https://patchwork.kernel.org/patch/10155145/

Hi Anup and Michael,

I pushed a series to modify virtio device allocation in remoteproc. Please see
[1].
It allows to remove allocation based on "grand-parent" device in the
case of virtio device allocated by remoteproc.
Virto_console patch missing, only virtio_rpmsg modification proposed. I can add
it in next version.

Regards,
Loic

[1] https://lkml.org/lkml/2018/3/1/644

>
> Regards,
> Anup
> --
> To unsubscribe from this list: send the line "unsubscribe
linux-remoteproc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html