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