Re: [PATCH 08/14] dt-bindings: dma: dma350: Document interrupt-names
From: Robin Murphy
Date: Fri Aug 29 2025 - 07:09:17 EST
On 2025-08-23 4:40 pm, Jisheng Zhang wrote:
Currently, the dma350 driver assumes all channels are available to
linux,
No, it doesn't - the CH_CFG_HAS_CMDLINK check is designed to safely skip
channels reserved for Secure world (or that don't exist due to an FVP
bug...), since their CH_BUILDCFG1 will as zero.
this may not be true on some platforms, so it's possible no
irq(s) for the unavailable channel(s). What's more, the available
channels may not be continuous. To handle this case, we'd better
get the irq of each channel by name.
Unless you're suggesting these channels physically do not have their
IRQs wired up to anything at all, what's wrong with describing the
hardware in DT? Linux won't request IRQs for channels it isn't actually
using, and nor should any other reasonable DT consumer - precisely
because channels *can* be arbitrarily taken by the Secure world, and
that can be entirely dynamic based on firmware configuration even for a
single hardware platform.
And even in the weird case that some channel literally has no IRQ, my
thought was we'd just have a placeholder entry in the array, such that
attempting to request it would fail.
Thanks,
Robin.
Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
---
Documentation/devicetree/bindings/dma/arm,dma-350.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/dma/arm,dma-350.yaml b/Documentation/devicetree/bindings/dma/arm,dma-350.yaml
index 429f682f15d8..94752516e51a 100644
--- a/Documentation/devicetree/bindings/dma/arm,dma-350.yaml
+++ b/Documentation/devicetree/bindings/dma/arm,dma-350.yaml
@@ -32,6 +32,10 @@ properties:
- description: Channel 6 interrupt
- description: Channel 7 interrupt
+ interrupt-names:
+ minItems: 1
+ maxItems: 8
+
"#dma-cells":
const: 1
description: The cell is the trigger input number
@@ -40,5 +44,6 @@ required:
- compatible
- reg
- interrupts
+ - interrupt-names
unevaluatedProperties: false