diff mbox series

arm64: dts: imx8m: Disable job ring 0 nodes

Message ID 20220608170223.1536594-1-festevam@denx.de (mailing list archive)
State New, archived
Headers show
Series arm64: dts: imx8m: Disable job ring 0 nodes | expand

Commit Message

Fabio Estevam June 8, 2022, 5:02 p.m. UTC
Now that the JR0 reservation is done in both upstream (v2.7) and
downstream (NXP lf_v2.4) TF-A versions, the kernel fails to initialize
the job ring 0:

 # dmesg | grep jr
caam_jr 30901000.jr: failed to flush job ring 0
caam_jr: probe of 30901000.jr failed with error -5

Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.

Suggested-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
 arch/arm64/boot/dts/freescale/imx8mm.dtsi | 1 +
 arch/arm64/boot/dts/freescale/imx8mn.dtsi | 1 +
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 1 +
 arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 +
 4 files changed, 4 insertions(+)

Comments

ZHIZHIKIN Andrey June 10, 2022, 12:22 p.m. UTC | #1
Hello Fabio,

As I can see, this is a continuation of the series that I've
posted a while ago [1], so I would also Cc: people that
expressed their concerns regarding this change, specifically
Rouven.

> -----Original Message-----
> From: Fabio Estevam <festevam@denx.de>
> Sent: Wednesday, June 8, 2022 7:02 PM
> To: shawnguo@kernel.org
> Cc: linux-arm-kernel@lists.infradead.org; ZHIZHIKIN Andrey
> <andrey.zhizhikin@leica-geosystems.com>; linux-imx@nxp.com;
> kernel@pengutronix.de; gaurav.jain@nxp.com; Fabio Estevam <festevam@denx.de>
> Subject: [PATCH] arm64: dts: imx8m: Disable job ring 0 nodes
> 
> Now that the JR0 reservation is done in both upstream (v2.7) and
> downstream (NXP lf_v2.4) TF-A versions, the kernel fails to initialize
> the job ring 0:
> 
>  # dmesg | grep jr
> caam_jr 30901000.jr: failed to flush job ring 0
> caam_jr: probe of 30901000.jr failed with error -5
> 
> Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.
> 
> Suggested-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mn.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 +
>  4 files changed, 4 insertions(+)

Now, that both U-Boot gained HAB support for i.MX8M series [2],
and TF-A have a JR0 reservation per default [3], I see no
objections this reservation to be made in Kernel DTBs.

With that said,

Reviewed-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>

> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 1bf070473829..8049a16d6027 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -911,6 +911,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index e41e1d56f980..fdfcc75a80e8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -857,6 +857,7 @@ sec_jr0: jr@1000 {
>                                          compatible = "fsl,sec-v4.0-job-ring";
>                                          reg = <0x1000 0x1000>;
>                                          interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                        status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index d9542dfff83f..c560d867fb6e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -791,6 +791,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 49eadb081b19..4338d82a28de 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1018,6 +1018,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105
> IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 {
> --
> 2.25.1

-- andrey

Link: [1]: https://lore.kernel.org/lkml/20211207230206.14637-3-andrey.zhizhikin@leica-geosystems.com/
Link: [2]: https://lore.kernel.org/u-boot/20220324062038.2187-1-gaurav.jain@nxp.com/
Link: [3]: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/plat/imx/imx8m/imx8m_caam.c?id=77850c96f23bcdc76ecb0ecd27a982c00fde5d9d
Gaurav Jain June 10, 2022, 2:52 p.m. UTC | #2
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>

> -----Original Message-----
> From: Fabio Estevam <festevam@denx.de>
> Sent: Wednesday, June 8, 2022 10:32 PM
> To: shawnguo@kernel.org
> Cc: linux-arm-kernel@lists.infradead.org; andrey.zhizhikin@leica-
> geosystems.com; dl-linux-imx <linux-imx@nxp.com>; kernel@pengutronix.de;
> Gaurav Jain <gaurav.jain@nxp.com>; Fabio Estevam <festevam@denx.de>
> Subject: [EXT] [PATCH] arm64: dts: imx8m: Disable job ring 0 nodes
> 
> Caution: EXT Email
> 
> Now that the JR0 reservation is done in both upstream (v2.7) and downstream
> (NXP lf_v2.4) TF-A versions, the kernel fails to initialize the job ring 0:
> 
>  # dmesg | grep jr
> caam_jr 30901000.jr: failed to flush job ring 0
> caam_jr: probe of 30901000.jr failed with error -5
> 
> Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.
> 
> Suggested-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 1 +
> arch/arm64/boot/dts/freescale/imx8mn.dtsi | 1 +
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 1 +
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 +
>  4 files changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 1bf070473829..8049a16d6027 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -911,6 +911,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 { diff --git
> a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index e41e1d56f980..fdfcc75a80e8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -857,6 +857,7 @@ sec_jr0: jr@1000 {
>                                          compatible = "fsl,sec-v4.0-job-ring";
>                                          reg = <0x1000 0x1000>;
>                                          interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +                                        status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 { diff --git
> a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index d9542dfff83f..c560d867fb6e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -791,6 +791,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 { diff --git
> a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 49eadb081b19..4338d82a28de 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1018,6 +1018,7 @@ sec_jr0: jr@1000 {
>                                         compatible = "fsl,sec-v4.0-job-ring";
>                                         reg = <0x1000 0x1000>;
>                                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +                                       status = "disabled";
>                                 };
> 
>                                 sec_jr1: jr@2000 {
> --
> 2.25.1
Shawn Guo June 19, 2022, 6:06 a.m. UTC | #3
On Wed, Jun 08, 2022 at 02:02:23PM -0300, Fabio Estevam wrote:
> Now that the JR0 reservation is done in both upstream (v2.7) and
> downstream (NXP lf_v2.4) TF-A versions, the kernel fails to initialize
> the job ring 0:
> 
>  # dmesg | grep jr
> caam_jr 30901000.jr: failed to flush job ring 0
> caam_jr: probe of 30901000.jr failed with error -5
> 
> Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.

Shouldn't caam_jr driver be fixed to cooperate with the new TF-A?

Shawn

> 
> Suggested-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
>  arch/arm64/boot/dts/freescale/imx8mm.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mn.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 1 +
>  arch/arm64/boot/dts/freescale/imx8mq.dtsi | 1 +
>  4 files changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 1bf070473829..8049a16d6027 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -911,6 +911,7 @@ sec_jr0: jr@1000 {
>  					compatible = "fsl,sec-v4.0-job-ring";
>  					reg = <0x1000 0x1000>;
>  					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +					status = "disabled";
>  				};
>  
>  				sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index e41e1d56f980..fdfcc75a80e8 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -857,6 +857,7 @@ sec_jr0: jr@1000 {
>  					 compatible = "fsl,sec-v4.0-job-ring";
>  					 reg = <0x1000 0x1000>;
>  					 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +					 status = "disabled";
>  				};
>  
>  				sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index d9542dfff83f..c560d867fb6e 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -791,6 +791,7 @@ sec_jr0: jr@1000 {
>  					compatible = "fsl,sec-v4.0-job-ring";
>  					reg = <0x1000 0x1000>;
>  					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +					status = "disabled";
>  				};
>  
>  				sec_jr1: jr@2000 {
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 49eadb081b19..4338d82a28de 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -1018,6 +1018,7 @@ sec_jr0: jr@1000 {
>  					compatible = "fsl,sec-v4.0-job-ring";
>  					reg = <0x1000 0x1000>;
>  					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
> +					status = "disabled";
>  				};
>  
>  				sec_jr1: jr@2000 {
> -- 
> 2.25.1
>
Shawn Guo June 19, 2022, 6:52 a.m. UTC | #4
On Sun, Jun 19, 2022 at 2:07 PM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Wed, Jun 08, 2022 at 02:02:23PM -0300, Fabio Estevam wrote:
> > Now that the JR0 reservation is done in both upstream (v2.7) and
> > downstream (NXP lf_v2.4) TF-A versions, the kernel fails to initialize
> > the job ring 0:
> >
> >  # dmesg | grep jr
> > caam_jr 30901000.jr: failed to flush job ring 0
> > caam_jr: probe of 30901000.jr failed with error -5
> >
> > Disable the sec_jr0 nodes by default to avoid the caam_jr probe error.
>
> Shouldn't caam_jr driver be fixed to cooperate with the new TF-A?

Never mind.  I just went through the discussion pointed out by Andrey.

Patch is applied, thanks!

Shawn
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index 1bf070473829..8049a16d6027 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -911,6 +911,7 @@  sec_jr0: jr@1000 {
 					compatible = "fsl,sec-v4.0-job-ring";
 					reg = <0x1000 0x1000>;
 					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+					status = "disabled";
 				};
 
 				sec_jr1: jr@2000 {
diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
index e41e1d56f980..fdfcc75a80e8 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -857,6 +857,7 @@  sec_jr0: jr@1000 {
 					 compatible = "fsl,sec-v4.0-job-ring";
 					 reg = <0x1000 0x1000>;
 					 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+					 status = "disabled";
 				};
 
 				sec_jr1: jr@2000 {
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index d9542dfff83f..c560d867fb6e 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -791,6 +791,7 @@  sec_jr0: jr@1000 {
 					compatible = "fsl,sec-v4.0-job-ring";
 					reg = <0x1000 0x1000>;
 					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+					status = "disabled";
 				};
 
 				sec_jr1: jr@2000 {
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 49eadb081b19..4338d82a28de 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -1018,6 +1018,7 @@  sec_jr0: jr@1000 {
 					compatible = "fsl,sec-v4.0-job-ring";
 					reg = <0x1000 0x1000>;
 					interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+					status = "disabled";
 				};
 
 				sec_jr1: jr@2000 {