[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221012114429.2341215-4-danishanwar@ti.com>
Date: Wed, 12 Oct 2022 17:14:27 +0530
From: MD Danish Anwar <danishanwar@...com>
To: Bjorn Andersson <bjorn.andersson@...aro.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>
CC: Suman Anna <s-anna@...com>, Roger Quadros <rogerq@...nel.org>,
<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>,
MD Danish Anwar <danishanwar@...com>,
Grzegorz Jaszczyk <grzegorz.jaszczyk@...aro.org>,
Puranjay Mohan <p-mohan@...com>
Subject: [PATCH v6 3/5] remoteproc: pru: Make sysfs entries read-only for PRU client driven boots
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>
---
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);
--
2.25.1
Powered by blists - more mailing lists