[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181015064040.GT12063@builder>
Date: Sun, 14 Oct 2018 23:40:41 -0700
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Loic PALLARDY <loic.pallardy@...com>
Cc: "ohad@...ery.com" <ohad@...ery.com>,
"linux-remoteproc@...r.kernel.org" <linux-remoteproc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Arnaud POULIQUEN <arnaud.pouliquen@...com>,
"benjamin.gaignard@...aro.org" <benjamin.gaignard@...aro.org>,
"s-anna@...com" <s-anna@...com>
Subject: Re: [PATCH v4 12/17] remoteproc: modify vring allocation to rely on
centralized carveout allocator
On Wed 10 Oct 11:58 PDT 2018, Loic PALLARDY wrote:
>
>
> > -----Original Message-----
> > From: Bjorn Andersson [mailto:bjorn.andersson@...aro.org]
> > Sent: mercredi 10 octobre 2018 07:32
> > To: Loic PALLARDY <loic.pallardy@...com>
> > Cc: ohad@...ery.com; linux-remoteproc@...r.kernel.org; linux-
> > kernel@...r.kernel.org; Arnaud POULIQUEN <arnaud.pouliquen@...com>;
> > benjamin.gaignard@...aro.org; s-anna@...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
Powered by blists - more mailing lists