[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220719161625.GB3393732@p14s>
Date: Tue, 19 Jul 2022 10:16:25 -0600
From: Mathieu Poirier <mathieu.poirier@...aro.org>
To: Puranjay Mohan <p-mohan@...com>
Cc: linux-kernel@...r.kernel.org, bjorn.andersson@...aro.org,
krzysztof.kozlowski+dt@...aro.org,
linux-remoteproc@...r.kernel.org, devicetree@...r.kernel.org,
nm@...com, ssantosh@...nel.org, s-anna@...com,
linux-arm-kernel@...ts.infradead.org, rogerq@...nel.org,
grygorii.strashko@...com, vigneshr@...com, kishon@...com,
robh@...nel.org
Subject: Re: [PATCH v5 6/6] remoteproc: pru: add support for configuring
GPMUX based on client setup
On Tue, Jun 07, 2022 at 10:26:50AM +0530, Puranjay Mohan wrote:
> From: Tero Kristo <t-kristo@...com>
>
> Client device node property ti,pruss-gp-mux-sel can now be used to
> configure the GPMUX config value for PRU.
>
> Signed-off-by: Tero Kristo <t-kristo@...com>
> [s-anna@...com: simplify the pru id usage]
> Signed-off-by: Suman Anna <s-anna@...com>
> Signed-off-by: Puranjay Mohan <p-mohan@...com>
> ---
> V4->v5
> * This patch was included in v4 and had some checkpatch errors that have
> been resolved in v5
> ---
> drivers/remoteproc/pru_rproc.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c
> index 2977eb50631b..f2c6c55f0f20 100644
> --- a/drivers/remoteproc/pru_rproc.c
> +++ b/drivers/remoteproc/pru_rproc.c
> @@ -123,6 +123,7 @@ struct pru_private_data {
> * @dbg_single_step: debug state variable to set PRU into single step mode
> * @dbg_continuous: debug state variable to restore PRU execution mode
> * @evt_count: number of mapped events
> + * @gpmux_save: saved value for gpmux config
> */
> struct pru_rproc {
> int id;
> @@ -141,6 +142,7 @@ struct pru_rproc {
> u32 dbg_single_step;
> u32 dbg_continuous;
> u8 evt_count;
> + u8 gpmux_save;
> };
>
> static inline u32 pru_control_read_reg(struct pru_rproc *pru, unsigned int reg)
> @@ -250,6 +252,7 @@ struct rproc *pru_rproc_get(struct device_node *np, int index,
> struct device *dev;
> const char *fw_name;
> int ret;
> + u32 mux;
>
> try_module_get(THIS_MODULE);
>
> @@ -273,6 +276,22 @@ struct rproc *pru_rproc_get(struct device_node *np, int index,
>
> mutex_unlock(&pru->lock);
>
> + ret = pruss_cfg_get_gpmux(pru->pruss, pru->id, &pru->gpmux_save);
> + if (ret) {
> + dev_err(dev, "failed to get cfg gpmux: %d\n", ret);
> + goto err;
> + }
> +
> + ret = of_property_read_u32_index(np, "ti,pruss-gp-mux-sel", index,
> + &mux);
> + if (!ret) {
> + ret = pruss_cfg_set_gpmux(pru->pruss, pru->id, mux);
> + if (ret) {
> + dev_err(dev, "failed to set cfg gpmux: %d\n", ret);
> + goto err;
> + }
> + }
> +
> if (pru_id)
> *pru_id = pru->id;
>
> @@ -310,6 +329,7 @@ void pru_rproc_put(struct rproc *rproc)
>
> pru = rproc->priv;
>
> + pruss_cfg_set_gpmux(pru->pruss, pru->id, pru->gpmux_save);
> pru_rproc_set_firmware(rproc, NULL);
>
CC drivers/remoteproc/pru_rproc.o
/home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c: In function ‘pru_rproc_get’:
/home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c:279:8: error: implicit declaration of function ‘pruss_cfg_get_gpmux’ [-Werror=implicit-function-declaration]
279 | ret = pruss_cfg_get_gpmux(pru->pruss, pru->id, &pru->gpmux_save);
| ^~~~~~~~~~~~~~~~~~~
/home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c:288:9: error: implicit declaration of function ‘pruss_cfg_set_gpmux’ [-Werror=implicit-function-declaration]
288 | ret = pruss_cfg_set_gpmux(pru->pruss, pru->id, mux);
| ^~~~~~~~~~~~~~~~~~~
I get this on both rproc-next and today's linux next.
> mutex_lock(&pru->lock);
> --
> 2.17.1
>
Powered by blists - more mailing lists