public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional
@ 2022-03-31 10:32 Daniel Baluta
  2022-04-06 10:18 ` S.J. Wang
  2022-04-13 17:59 ` Mathieu Poirier
  0 siblings, 2 replies; 3+ messages in thread
From: Daniel Baluta @ 2022-03-31 10:32 UTC (permalink / raw)
  To: linux-remoteproc, mathieu.poirier, bjorn.andersson
  Cc: s.hauer, kernel, festevam, linux-imx, linux-kernel, shengjiu.wang,
	daniel.baluta, Daniel Baluta

From: Daniel Baluta <daniel.baluta@nxp.com>

There are cases when we want to test a simple "hello world"
app on the DSP and we do not need a resource table.

remoteproc core allows us having an optional rsc_table.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 drivers/remoteproc/imx_dsp_rproc.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_dsp_rproc.c
index 2abee78df96e..987ab1add761 100644
--- a/drivers/remoteproc/imx_dsp_rproc.c
+++ b/drivers/remoteproc/imx_dsp_rproc.c
@@ -802,6 +802,14 @@ static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid)
 		dev_err(dev, "%s: failed (%d, err:%d)\n", __func__, vqid, err);
 }
 
+static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw)
+{
+	if (rproc_elf_load_rsc_table(rproc, fw))
+		dev_warn(&rproc->dev, "no resource table found for this firmware\n");
+
+	return 0;
+}
+
 static const struct rproc_ops imx_dsp_rproc_ops = {
 	.prepare	= imx_dsp_rproc_prepare,
 	.unprepare	= imx_dsp_rproc_unprepare,
@@ -809,7 +817,7 @@ static const struct rproc_ops imx_dsp_rproc_ops = {
 	.stop		= imx_dsp_rproc_stop,
 	.kick		= imx_dsp_rproc_kick,
 	.load		= imx_dsp_rproc_elf_load_segments,
-	.parse_fw	= rproc_elf_load_rsc_table,
+	.parse_fw	= imx_dsp_rproc_parse_fw,
 	.sanity_check	= rproc_elf_sanity_check,
 	.get_boot_addr	= rproc_elf_get_boot_addr,
 };
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional
  2022-03-31 10:32 [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional Daniel Baluta
@ 2022-04-06 10:18 ` S.J. Wang
  2022-04-13 17:59 ` Mathieu Poirier
  1 sibling, 0 replies; 3+ messages in thread
From: S.J. Wang @ 2022-04-06 10:18 UTC (permalink / raw)
  To: Daniel Baluta (OSS), linux-remoteproc@vger.kernel.org,
	mathieu.poirier@linaro.org, bjorn.andersson@linaro.org
  Cc: s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com,
	dl-linux-imx, linux-kernel@vger.kernel.org,
	daniel.baluta@gmail.com, Daniel Baluta



> 
> There are cases when we want to test a simple "hello world"
> app on the DSP and we do not need a resource table.
> 
> remoteproc core allows us having an optional rsc_table.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>

Acked-by: Shengjiu Wang <shengjiu.wang@gmail.com>

Best regards
Wang Shengjiu

> ---
>  drivers/remoteproc/imx_dsp_rproc.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/remoteproc/imx_dsp_rproc.c
> b/drivers/remoteproc/imx_dsp_rproc.c
> index 2abee78df96e..987ab1add761 100644
> --- a/drivers/remoteproc/imx_dsp_rproc.c
> +++ b/drivers/remoteproc/imx_dsp_rproc.c
> @@ -802,6 +802,14 @@ static void imx_dsp_rproc_kick(struct rproc *rproc,
> int vqid)
>  		dev_err(dev, "%s: failed (%d, err:%d)\n", __func__, vqid,
> err);  }
> 
> +static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct
> +firmware *fw) {
> +	if (rproc_elf_load_rsc_table(rproc, fw))
> +		dev_warn(&rproc->dev, "no resource table found for this
> firmware\n");
> +
> +	return 0;
> +}
> +
>  static const struct rproc_ops imx_dsp_rproc_ops = {
>  	.prepare	= imx_dsp_rproc_prepare,
>  	.unprepare	= imx_dsp_rproc_unprepare,
> @@ -809,7 +817,7 @@ static const struct rproc_ops imx_dsp_rproc_ops = {
>  	.stop		= imx_dsp_rproc_stop,
>  	.kick		= imx_dsp_rproc_kick,
>  	.load		= imx_dsp_rproc_elf_load_segments,
> -	.parse_fw	= rproc_elf_load_rsc_table,
> +	.parse_fw	= imx_dsp_rproc_parse_fw,
>  	.sanity_check	= rproc_elf_sanity_check,
>  	.get_boot_addr	= rproc_elf_get_boot_addr,
>  };
> --
> 2.27.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional
  2022-03-31 10:32 [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional Daniel Baluta
  2022-04-06 10:18 ` S.J. Wang
@ 2022-04-13 17:59 ` Mathieu Poirier
  1 sibling, 0 replies; 3+ messages in thread
From: Mathieu Poirier @ 2022-04-13 17:59 UTC (permalink / raw)
  To: Daniel Baluta
  Cc: linux-remoteproc, bjorn.andersson, s.hauer, kernel, festevam,
	linux-imx, linux-kernel, shengjiu.wang, daniel.baluta,
	Daniel Baluta

Hi Daniel,

On Thu, Mar 31, 2022 at 01:32:37PM +0300, Daniel Baluta wrote:
> From: Daniel Baluta <daniel.baluta@nxp.com>
> 
> There are cases when we want to test a simple "hello world"
> app on the DSP and we do not need a resource table.
> 
> remoteproc core allows us having an optional rsc_table.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> ---
>  drivers/remoteproc/imx_dsp_rproc.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_dsp_rproc.c
> index 2abee78df96e..987ab1add761 100644
> --- a/drivers/remoteproc/imx_dsp_rproc.c
> +++ b/drivers/remoteproc/imx_dsp_rproc.c
> @@ -802,6 +802,14 @@ static void imx_dsp_rproc_kick(struct rproc *rproc, int vqid)
>  		dev_err(dev, "%s: failed (%d, err:%d)\n", __func__, vqid, err);
>  }
>  
> +static int imx_dsp_rproc_parse_fw(struct rproc *rproc, const struct firmware *fw)
> +{
> +	if (rproc_elf_load_rsc_table(rproc, fw))
> +		dev_warn(&rproc->dev, "no resource table found for this firmware\n");
> +
> +	return 0;
> +}
> +
>  static const struct rproc_ops imx_dsp_rproc_ops = {
>  	.prepare	= imx_dsp_rproc_prepare,
>  	.unprepare	= imx_dsp_rproc_unprepare,
> @@ -809,7 +817,7 @@ static const struct rproc_ops imx_dsp_rproc_ops = {
>  	.stop		= imx_dsp_rproc_stop,
>  	.kick		= imx_dsp_rproc_kick,
>  	.load		= imx_dsp_rproc_elf_load_segments,
> -	.parse_fw	= rproc_elf_load_rsc_table,
> +	.parse_fw	= imx_dsp_rproc_parse_fw,

Applied.

Thanks,
Mathieu

>  	.sanity_check	= rproc_elf_sanity_check,
>  	.get_boot_addr	= rproc_elf_get_boot_addr,
>  };
> -- 
> 2.27.0
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-04-13 18:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-31 10:32 [PATCH] remoteproc: imx_dsp_rproc: Make rsc_table optional Daniel Baluta
2022-04-06 10:18 ` S.J. Wang
2022-04-13 17:59 ` Mathieu Poirier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox