2022-06-17 14:06:48

by Matt Ranostay

[permalink] [raw]
Subject: [PATCH v2] arm64: dts: ti: k3-j721s2: fix overlapping GICD memory region

GICD region was overlapping with GICR causing the latter to not map
successfully, and in turn the gic-v3 driver would fail to initialize.

This issue was hidden till commit 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
replaced of_iomap() calls with of_io_request_and_map() that internally
called request_mem_region().

Respective console output before this patchset:

[ 0.000000] GICv3: /bus@100000/interrupt-controller@1800000: couldn't map region 0

Fixes: 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
Cc: Marc Zyngier <[email protected]>
Cc: Robin Murphy <[email protected]>
Cc: Nishanth Menon <[email protected]>
Signed-off-by: Matt Ranostay <[email protected]>
---
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Changes from v1:
* Add missing Fixes: in commit messages

diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index be7f39299894..19966f72c5b3 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -33,7 +33,7 @@ gic500: interrupt-controller@1800000 {
ranges;
#interrupt-cells = <3>;
interrupt-controller;
- reg = <0x00 0x01800000 0x00 0x200000>, /* GICD */
+ reg = <0x00 0x01800000 0x00 0x100000>, /* GICD */
<0x00 0x01900000 0x00 0x100000>, /* GICR */
<0x00 0x6f000000 0x00 0x2000>, /* GICC */
<0x00 0x6f010000 0x00 0x1000>, /* GICH */
--
2.36.1


2022-06-17 14:25:04

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: ti: k3-j721s2: fix overlapping GICD memory region

On 2022-06-17 15:02, Matt Ranostay wrote:
> GICD region was overlapping with GICR causing the latter to not map
> successfully, and in turn the gic-v3 driver would fail to initialize.
>
> This issue was hidden till commit 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
> replaced of_iomap() calls with of_io_request_and_map() that internally
> called request_mem_region().
>
> Respective console output before this patchset:
>
> [ 0.000000] GICv3: /bus@100000/interrupt-controller@1800000: couldn't map region 0
>
> Fixes: 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")

I think that should be b8545f9d3a54 ("arm64: dts: ti: Add initial
support for J721S2 SoC") - the GIC change is the point at which Linux
started *noticing* that the DT was wrong, but it's not what made the DT
wrong.

Thanks,
Robin.

> Cc: Marc Zyngier <[email protected]>
> Cc: Robin Murphy <[email protected]>
> Cc: Nishanth Menon <[email protected]>
> Signed-off-by: Matt Ranostay <[email protected]>
> ---
> arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Changes from v1:
> * Add missing Fixes: in commit messages
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> index be7f39299894..19966f72c5b3 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
> @@ -33,7 +33,7 @@ gic500: interrupt-controller@1800000 {
> ranges;
> #interrupt-cells = <3>;
> interrupt-controller;
> - reg = <0x00 0x01800000 0x00 0x200000>, /* GICD */
> + reg = <0x00 0x01800000 0x00 0x100000>, /* GICD */
> <0x00 0x01900000 0x00 0x100000>, /* GICR */
> <0x00 0x6f000000 0x00 0x2000>, /* GICC */
> <0x00 0x6f010000 0x00 0x1000>, /* GICH */

2022-06-17 14:44:05

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: ti: k3-j721s2: fix overlapping GICD memory region

On Fri, 17 Jun 2022 15:02:07 +0100,
Matt Ranostay <[email protected]> wrote:
>
> GICD region was overlapping with GICR causing the latter to not map
> successfully, and in turn the gic-v3 driver would fail to initialize.
>
> This issue was hidden till commit 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
> replaced of_iomap() calls with of_io_request_and_map() that internally
> called request_mem_region().

Please correctly wrap long lines in the commit message.

>
> Respective console output before this patchset:
>
> [ 0.000000] GICv3: /bus@100000/interrupt-controller@1800000: couldn't map region 0
>
> Fixes: 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")

No, that's the wrong target for this. Your patch fixes the *original*
submission of the DT, and this should carry a:

Fixes: b8545f9d3a54 ("arm64: dts: ti: Add initial support for J721S2 SoC")

Please also consider adding a

Cc: [email protected]

Thanks,

M.

--
Without deviation from the norm, progress is not possible.

2022-06-17 15:36:43

by Matt Ranostay

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: dts: ti: k3-j721s2: fix overlapping GICD memory region

On Fri, Jun 17, 2022 at 03:13:33PM +0100, Marc Zyngier wrote:
> On Fri, 17 Jun 2022 15:02:07 +0100,
> Matt Ranostay <[email protected]> wrote:
> >
> > GICD region was overlapping with GICR causing the latter to not map
> > successfully, and in turn the gic-v3 driver would fail to initialize.
> >
> > This issue was hidden till commit 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
> > replaced of_iomap() calls with of_io_request_and_map() that internally
> > called request_mem_region().
>
> Please correctly wrap long lines in the commit message.
>
> >
> > Respective console output before this patchset:
> >
> > [ 0.000000] GICv3: /bus@100000/interrupt-controller@1800000: couldn't map region 0
> >
> > Fixes: 2b2cd74a06c3 ("irqchip/gic-v3: Claim iomem resources")
>
> No, that's the wrong target for this. Your patch fixes the *original*
> submission of the DT, and this should carry a:
>
> Fixes: b8545f9d3a54 ("arm64: dts: ti: Add initial support for J721S2 SoC")
>

Ah right. Not sure I was thinking there.. will fix in v3.

- Matt


> Please also consider adding a
>
> Cc: [email protected]
>
> Thanks,
>
> M.
>
> --
> Without deviation from the norm, progress is not possible.