devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] irqchip/gic-v3: Enable non-coherent GIC designs probing
@ 2023-09-05 10:47 Lorenzo Pieralisi
  2023-09-05 10:47 ` [PATCH 1/2] dt-bindings: interrupt-controller: arm,gic-v3: Add dma-noncoherent property Lorenzo Pieralisi
                   ` (3 more replies)
  0 siblings, 4 replies; 40+ messages in thread
From: Lorenzo Pieralisi @ 2023-09-05 10:47 UTC (permalink / raw)
  To: linux-kernel
  Cc: Lorenzo Pieralisi, linux-arm-kernel, devicetree, Mark Rutland,
	Robin Murphy, Rob Herring, Fang Xiang, Marc Zyngier

The GICv3 architecture specifications provide a means for the
system programmer to set the shareability and cacheability
attributes the GIC components (redistributors and ITSes) use
to drive memory transactions.

Albeit the architecture give control over shareability/cacheability
memory transactions attributes (and barriers), it is allowed to
connect the GIC interconnect ports to non-coherent memory ports
on the interconnect, basically tying off shareability/cacheability
"wires" and de-facto making the redistributors and ITSes non-coherent
memory observers.

This series aims at starting a discussion over a possible solution
to this problem, by adding to the GIC device tree bindings the
standard dma-noncoherent property. The GIC driver uses the property
to force the redistributors and ITSes shareability attributes to
non-shareable, which consequently forces the driver to use CMOs
on GIC memory tables.

On ARM DT DMA is default non-coherent, so the GIC driver can't rely
on the generic DT dma-coherent/non-coherent property management layer
(of_dma_is_coherent()) which would default all GIC designs in the field
as non-coherent; it has to rely on ad-hoc dma-noncoherent property handling.

When a consistent approach is agreed upon for DT an equivalent binding will
be put forward for ACPI based systems.

Lorenzo Pieralisi (2):
  dt-bindings: interrupt-controller: arm,gic-v3: Add dma-noncoherent
    property
  irqchip/gic-v3: Enable non-coherent redistributors/ITSes probing

 .../interrupt-controller/arm,gic-v3.yaml      |  8 ++++++++
 drivers/irqchip/irq-gic-v3-its.c              | 19 +++++++++++++++----
 2 files changed, 23 insertions(+), 4 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2023-10-24 13:13 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-05 10:47 [PATCH 0/2] irqchip/gic-v3: Enable non-coherent GIC designs probing Lorenzo Pieralisi
2023-09-05 10:47 ` [PATCH 1/2] dt-bindings: interrupt-controller: arm,gic-v3: Add dma-noncoherent property Lorenzo Pieralisi
2023-09-05 11:17   ` Robin Murphy
2023-09-05 12:22     ` Lorenzo Pieralisi
2023-09-05 12:57       ` Robin Murphy
2023-09-05 18:23   ` Rob Herring
2023-09-05 10:47 ` [PATCH 2/2] irqchip/gic-v3: Enable non-coherent redistributors/ITSes probing Lorenzo Pieralisi
2023-09-05 11:34   ` Marc Zyngier
2023-09-05 12:14     ` Robin Murphy
2023-09-05 12:30     ` Lorenzo Pieralisi
2023-09-05 12:41       ` Marc Zyngier
2023-09-05 14:24     ` Lorenzo Pieralisi
2023-09-05 14:34       ` Marc Zyngier
2023-09-06 11:01       ` Fang Xiang
2023-10-03 14:43     ` Lorenzo Pieralisi
2023-10-03 16:18       ` Robin Murphy
2023-10-03 16:44       ` Marc Zyngier
2023-10-04  7:13         ` Lorenzo Pieralisi
2023-10-05 13:59         ` Lorenzo Pieralisi
2023-09-06  9:41 ` [PATCH v2 0/2] irqchip/gic-v3: Enable non-coherent GIC designs probing Lorenzo Pieralisi
2023-09-06  9:41   ` [PATCH v2 1/2] dt-bindings: interrupt-controller: arm,gic-v3: Add dma-noncoherent property Lorenzo Pieralisi
2023-09-06 11:23     ` Rob Herring
2023-09-06 11:27     ` Lorenzo Pieralisi
2023-09-06  9:41   ` [PATCH v2 2/2] irqchip/gic-v3: Enable non-coherent redistributors/ITSes probing Lorenzo Pieralisi
2023-09-06  9:52   ` [PATCH v2 0/2] irqchip/gic-v3: Enable non-coherent GIC designs probing Marc Zyngier
2023-09-06 11:23     ` Lorenzo Pieralisi
2023-09-21 10:11       ` Lorenzo Pieralisi
2023-10-06 12:59 ` [PATCH v3 0/5] " Lorenzo Pieralisi
2023-10-06 12:59   ` [PATCH v3 1/5] dt-bindings: interrupt-controller: arm,gic-v3: Add dma-noncoherent property Lorenzo Pieralisi
2023-10-06 12:59   ` [PATCH v3 2/5] irqchip/gic-v3: Enable non-coherent redistributors/ITSes DT probing Lorenzo Pieralisi
2023-10-06 12:59   ` [PATCH v3 3/5] irqchip/gic-v3-its: Split allocation from initialisation of its_node Lorenzo Pieralisi
2023-10-24  8:48     ` Dominic Rath
2023-10-24 10:18       ` Marc Zyngier
2023-10-24 13:13         ` Dominic Rath
2023-10-06 12:59   ` [PATCH v3 4/5] ACPICA: Add new MADT GICC/GICR/ITS flags handling [code first] Lorenzo Pieralisi
2023-10-06 12:59   ` [PATCH v3 5/5] irqchip/gic-v3: Enable non-coherent redistributors/ITSes ACPI probing Lorenzo Pieralisi
2023-10-17 14:19     ` Lorenzo Pieralisi
2023-10-17 16:44       ` Marc Zyngier
2023-10-18  8:42         ` Lorenzo Pieralisi
2023-10-19 11:12           ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).