From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: ohad@wizery.com, linux-remoteproc@vger.kernel.org,
linux-kernel@vger.kernel.org, loic.pallardy@st.com,
arnaud.pouliquen@st.com, s-anna@ti.com
Subject: Re: [PATCH v4 8/9] remoteproc: Refactor function rproc_free_vring()
Date: Mon, 22 Jun 2020 00:27:32 -0700 [thread overview]
Message-ID: <20200622072732.GJ149351@builder.lan> (raw)
In-Reply-To: <20200601175139.22097-9-mathieu.poirier@linaro.org>
On Mon 01 Jun 10:51 PDT 2020, Mathieu Poirier wrote:
> When function rproc_free_vring() clears the virtio device section
> it does so on the cached resource table rather than the one
> installed in the remote processor memory. When a remote processor
> has been booted by another entity there is no need to use a cached
> table and as such, no need to clear the virtio device section in
> it.
>
> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Regards,
Bjorn
> ---
> drivers/remoteproc/remoteproc_core.c | 20 ++++++++++++++++----
> 1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
> index d32ac8f0c872..0e23284fbd25 100644
> --- a/drivers/remoteproc/remoteproc_core.c
> +++ b/drivers/remoteproc/remoteproc_core.c
> @@ -411,10 +411,22 @@ void rproc_free_vring(struct rproc_vring *rvring)
>
> idr_remove(&rproc->notifyids, rvring->notifyid);
>
> - /* reset resource entry info */
> - rsc = (void *)rproc->table_ptr + rvring->rvdev->rsc_offset;
> - rsc->vring[idx].da = 0;
> - rsc->vring[idx].notifyid = -1;
> + /*
> + * At this point rproc_stop() has been called and the installed resource
> + * table in the remote processor memory may no longer be accessible. As
> + * such and as per rproc_stop(), rproc->table_ptr points to the cached
> + * resource table (rproc->cached_table). The cached resource table is
> + * only available when a remote processor has been booted by the
> + * remoteproc core, otherwise it is NULL.
> + *
> + * Based on the above, reset the virtio device section in the cached
> + * resource table only if there is one to work with.
> + */
> + if (rproc->table_ptr) {
> + rsc = (void *)rproc->table_ptr + rvring->rvdev->rsc_offset;
> + rsc->vring[idx].da = 0;
> + rsc->vring[idx].notifyid = -1;
> + }
> }
>
> static int rproc_vdev_do_start(struct rproc_subdev *subdev)
> --
> 2.20.1
>
next prev parent reply other threads:[~2020-06-22 7:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-01 17:51 [PATCH v4 0/9] remoteproc: Add support for attaching with rproc Mathieu Poirier
2020-06-01 17:51 ` [PATCH v4 1/9] remoteproc: Add new RPROC_DETACHED state Mathieu Poirier
2020-06-22 6:25 ` Bjorn Andersson
2020-06-01 17:51 ` [PATCH v4 2/9] remoteproc: Add new attach() remoteproc operation Mathieu Poirier
2020-06-22 6:36 ` Bjorn Andersson
2020-06-01 17:51 ` [PATCH v4 3/9] remoteproc: Introducing function rproc_attach() Mathieu Poirier
2020-06-22 7:07 ` Bjorn Andersson
2020-06-22 7:18 ` Bjorn Andersson
2020-06-23 19:37 ` Mathieu Poirier
2020-06-01 17:51 ` [PATCH v4 4/9] remoteproc: Introducing function rproc_actuate() Mathieu Poirier
2020-06-22 7:18 ` Bjorn Andersson
2020-06-01 17:51 ` [PATCH v4 5/9] remoteproc: Introducing function rproc_validate() Mathieu Poirier
2020-06-22 7:25 ` Bjorn Andersson
2020-06-23 19:38 ` Mathieu Poirier
2020-06-01 17:51 ` [PATCH v4 6/9] remoteproc: Refactor function rproc_boot() Mathieu Poirier
2020-06-22 7:25 ` Bjorn Andersson
2020-06-01 17:51 ` [PATCH v4 7/9] remoteproc: Refactor function rproc_trigger_auto_boot() Mathieu Poirier
2020-06-22 7:25 ` Bjorn Andersson
2020-06-01 17:51 ` [PATCH v4 8/9] remoteproc: Refactor function rproc_free_vring() Mathieu Poirier
2020-06-22 7:27 ` Bjorn Andersson [this message]
2020-06-01 17:51 ` [PATCH v4 9/9] remoteproc: Properly handle firmware name when attaching Mathieu Poirier
2020-06-04 14:16 ` Arnaud POULIQUEN
2020-06-04 20:14 ` Mathieu Poirier
2020-06-22 7:33 ` Bjorn Andersson
2020-06-23 19:48 ` Mathieu Poirier
2020-06-23 20:09 ` Bjorn Andersson
2020-06-04 14:24 ` [PATCH v4 0/9] remoteproc: Add support for attaching with rproc Arnaud POULIQUEN
2020-06-04 20:27 ` Mathieu Poirier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200622072732.GJ149351@builder.lan \
--to=bjorn.andersson@linaro.org \
--cc=arnaud.pouliquen@st.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=loic.pallardy@st.com \
--cc=mathieu.poirier@linaro.org \
--cc=ohad@wizery.com \
--cc=s-anna@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.