Re: [PATCH v3 1/2] dt-bindings: interrupt-controller: sifive,plic: Fix number of interrupts
From: Anup Patel <anup@brainfault.org>
Date: 2021-12-17 12:47:37
Also in:
linux-riscv, lkml
On Fri, Dec 17, 2021 at 6:04 PM Geert Uytterhoeven [off-list ref] wrote:
The number of interrupts lacks an upper bound, thus assuming one, causing properly grouped "interrupts-extended" properties to be flagged as an error by "make dtbs_check". Fix this by adding the missing "maxItems". As the architectural maximum is 15872 interrupts, using that as the limit would be unpractical. Hence limit it to 9 interrupts (one interrupt for a system management core, and two interrupts per core for other cores). This should be sufficient for now, and the limit can always be increased when the need arises.
I disagree with having "maxItems" as 9. We are in the process of increasing max CPUs supported by QEMU virt machine to 512. There are already high CPU count systems already announced (example SiFive P650 which will have 16 cores). The "maxItems = 9" set by this patch will soon be out-of-date. The "maxItems" should represent PLIC spec constraints so please don't add any synthetic value here. Regards, Anup
quoted hunk ↗ jump to hunk
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Rob Herring <robh@kernel.org> --- v3: - Add Acked-by, v2: - Split in two patches, - Improve patch description and document limit rationale. --- .../bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 + 1 file changed, 1 insertion(+)diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml index 28b6b17fe4b26778..0c6687511457413e 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml@@ -62,6 +62,7 @@ properties: interrupts-extended: minItems: 1 + maxItems: 9 description: Specifies which contexts are connected to the PLIC, with "-1" specifying that a context is not present. Each node pointed to should be a --2.25.1