On Wed 10 Oct 11:58 PDT 2018, Loic PALLARDY wrote:

> 
> 
> > -----Original Message-----
> > From: Bjorn Andersson [mailto:bjorn.anders...@linaro.org]
> > Sent: mercredi 10 octobre 2018 07:32
> > To: Loic PALLARDY <loic.palla...@st.com>
> > Cc: o...@wizery.com; linux-remotep...@vger.kernel.org; linux-
> > ker...@vger.kernel.org; Arnaud POULIQUEN <arnaud.pouliq...@st.com>;
> > benjamin.gaign...@linaro.org; s-a...@ti.com
> > Subject: Re: [PATCH v4 12/17] remoteproc: modify vring allocation to rely on
> > centralized carveout allocator
> > 
> > On Fri 27 Jul 06:14 PDT 2018, Loic Pallardy wrote:
> > >  int rproc_fw_sanity_check(struct rproc *rproc, const struct firmware *fw)
> > > diff --git a/drivers/remoteproc/remoteproc_virtio.c
> > b/drivers/remoteproc/remoteproc_virtio.c
> > [..]
> > > @@ -114,6 +122,10 @@ static struct virtqueue *rp_find_vq(struct
> > virtio_device *vdev,
> > >   rvring->vq = vq;
> > >   vq->priv = rvring;
> > >
> > > + /* Update vring in resource table */
> > > + rsc = (void *)rproc->table_ptr + rvdev->rsc_offset;
> > > + rsc->vring[id].da = mem->da;
> > > +
> > 
> > This would now happen after we've started the remoteproc. Don't we need
> > to do this in-between allocating the carveouts and booting the
> > remoteproc?
> 
> Yes da is updated after coprocessor boot, but before vdev status in resource 
> table is set to DRIVER_OK and kick.
> Coprocessor should not parse this resource before as vrings not initialized 
> yet.
> If coprocessor needs to get some information about vring carveout at boot 
> time, carveout resources named vdev"x"vring"y" should be added to firmware 
> resource table.
> In that case information will be filled before coprocessor boot.
> 

Makes sense, thanks for clarifying. Applied.

Regards,
Bjorn

Reply via email to