[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1f1552cd-d16b-fea0-2816-9bb3a2373ff5@kernel.org>
Date: Fri, 4 Nov 2022 14:57:08 +0200
From: Roger Quadros <rogerq@...nel.org>
To: MD Danish Anwar <danishanwar@...com>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Rob Herring <robh+dt@...nel.org>
Cc: Suman Anna <s-anna@...com>, "Andrew F . Davis" <afd@...com>,
nm@...com, vigneshr@...com, srk@...com,
linux-remoteproc@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v7 3/5] remoteproc: pru: Make sysfs entries read-only for
PRU client driven boots
On 31/10/2022 09:37, MD Danish Anwar wrote:
> From: Suman Anna <s-anna@...com>
>
> The PRU remoteproc driver is not configured for 'auto-boot' by default,
> and allows to be booted either by in-kernel PRU client drivers or by
> userspace using the generic remoteproc sysfs interfaces. The sysfs
> interfaces should not be permitted to change the remoteproc firmwares
> or states when a PRU is being managed by an in-kernel client driver.
> Use the newly introduced remoteproc generic 'sysfs_read_only' flag to
> provide these restrictions by setting and clearing it appropriately
> during the PRU acquire and release steps.
>
> Signed-off-by: Suman Anna <s-anna@...com>
> Co-developed-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
> Signed-off-by: Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>
> Signed-off-by: Puranjay Mohan <p-mohan@...com>
Reviewed-by: Roger Quadros <rogerq@...nel.org>
> ---
> drivers/remoteproc/pru_rproc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c
> index 9ba73cfc29e2..14eb27bb5f3f 100644
> --- a/drivers/remoteproc/pru_rproc.c
> +++ b/drivers/remoteproc/pru_rproc.c
> @@ -230,6 +230,7 @@ struct rproc *pru_rproc_get(struct device_node *np, int index,
> }
>
> pru->client_np = np;
> + rproc->sysfs_read_only = true;
>
> mutex_unlock(&pru->lock);
>
> @@ -268,6 +269,7 @@ void pru_rproc_put(struct rproc *rproc)
> }
>
> pru->client_np = NULL;
> + rproc->sysfs_read_only = false;
> mutex_unlock(&pru->lock);
>
> rproc_put(rproc);
Powered by blists - more mailing lists