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

From: Robin Murphy
Date: Thu Jun 16 2022 - 08:19:56 EST


On 2022-06-16 13:13, Marc Zyngier wrote:
On Thu, 16 Jun 2022 13:07:23 +0100,
Robin Murphy <robin.murphy@xxxxxxx> wrote:

On 2022-06-16 11:51, 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

Oh, it's nice that this finds bugs, but it seems I hadn't fully
considered that making the simple easy change in the DT paths results
in different behaviour from ACPI.

Marc, would you like a fix for this to remain non-fatal even in the
face of a dodgy DT, or are you happy with being a bit stricter now?

I'd rather we work around it. I shout at people for breaking existing
DTs, so this should apply to the GIC as well. A nice WARN_ON_ONCE()
should do, if you don't mind writing the patch.

Indeed, I think that would be my default preference as well - apologies for the oversight! I'll spin the patch shortly (and make the warning consistent for the ACPI side too).

Cheers,
Robin.