* [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number @ 2024-10-03 21:43 Frank Li 2024-10-04 6:43 ` Krzysztof Kozlowski 2024-10-05 18:03 ` Rob Herring 0 siblings, 2 replies; 6+ messages in thread From: Frank Li @ 2024-10-03 21:43 UTC (permalink / raw) To: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS Cc: imx The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT function to parser interrupt-map. So it doesn't consider '#address-size' in parent interrupt controller, such as GIC. When dt-binding verify interrupt-map, item data matrix is spitted at incorrect position. So cause below warning: arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... is too short Reduce minItems and maxItems to workaround this warning for 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. Other keep the same restriction. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- Change from v1 to v2 - remove duplicate function in commit message - only reduce miniItems for after 1088a chips - maxItems change to 9. Otherwise report too long. --- .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml index 199b34fdbefc4..1bfced6ed620c 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml @@ -82,14 +82,37 @@ allOf: enum: - fsl,ls1043a-extirq - fsl,ls1046a-extirq + then: + properties: + interrupt-map: + minItems: 12 + maxItems: 12 + interrupt-map-mask: + items: + - const: 0xf + - const: 0 + + - if: + properties: + compatible: + contains: + enum: - fsl,ls1088a-extirq - fsl,ls2080a-extirq - fsl,lx2160a-extirq +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT +# function function to parser interrupt-map. So it doesn't consider +# '#address-size' in parent interrupt controller, such as GIC. +# +# When dt-binding verify interrupt-map, item data matrix is spitted at +# incorrect position. Reduce minItems and maxItems to workaround this +# problem. + then: properties: interrupt-map: - minItems: 12 - maxItems: 12 + minItems: 8 + maxItems: 9 interrupt-map-mask: items: - const: 0xf -- 2.34.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-03 21:43 [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number Frank Li @ 2024-10-04 6:43 ` Krzysztof Kozlowski 2024-10-04 15:36 ` Frank Li 2024-10-05 18:03 ` Rob Herring 1 sibling, 1 reply; 6+ messages in thread From: Krzysztof Kozlowski @ 2024-10-04 6:43 UTC (permalink / raw) To: Frank Li Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote: > The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > function to parser interrupt-map. So it doesn't consider '#address-size' > in parent interrupt controller, such as GIC. > > When dt-binding verify interrupt-map, item data matrix is spitted at > incorrect position. So cause below warning: > > arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: > interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... > is too short > > Reduce minItems and maxItems to workaround this warning for > 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. > Other keep the same restriction. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > Change from v1 to v2 > - remove duplicate function in commit message > - only reduce miniItems for after 1088a chips > - maxItems change to 9. Otherwise report too long. > --- > .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- > 1 file changed, 25 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > index 199b34fdbefc4..1bfced6ed620c 100644 > --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > @@ -82,14 +82,37 @@ allOf: > enum: > - fsl,ls1043a-extirq > - fsl,ls1046a-extirq > + then: > + properties: > + interrupt-map: > + minItems: 12 > + maxItems: 12 > + interrupt-map-mask: > + items: > + - const: 0xf > + - const: 0 > + > + - if: > + properties: > + compatible: > + contains: > + enum: > - fsl,ls1088a-extirq > - fsl,ls2080a-extirq > - fsl,lx2160a-extirq > +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > +# function function to parser interrupt-map. So it doesn't consider Same issue as last time, double function. Please run scripts/checkpatch.pl and fix reported warnings. Then please run 'scripts/checkpatch.pl --strict' and (probably) fix more warnings. Some warnings can be ignored, especially from --strict run, but the code here looks like it needs a fix. Feel free to get in touch if the warning is not clear. > +# '#address-size' in parent interrupt controller, such as GIC. > +# > +# When dt-binding verify interrupt-map, item data matrix is spitted at > +# incorrect position. Reduce minItems and maxItems to workaround this > +# problem. > + > then: > properties: > interrupt-map: > - minItems: 12 > - maxItems: 12 > + minItems: 8 > + maxItems: 9 Are you sure it works? I see 12 items in fsl-ls1088a.dtsi. What's more, I do not see your errors/warnings at all. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-04 6:43 ` Krzysztof Kozlowski @ 2024-10-04 15:36 ` Frank Li 2024-10-06 13:30 ` Krzysztof Kozlowski 0 siblings, 1 reply; 6+ messages in thread From: Frank Li @ 2024-10-04 15:36 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx On Fri, Oct 04, 2024 at 08:43:23AM +0200, Krzysztof Kozlowski wrote: > On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote: > > The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > > function to parser interrupt-map. So it doesn't consider '#address-size' > > in parent interrupt controller, such as GIC. > > > > When dt-binding verify interrupt-map, item data matrix is spitted at > > incorrect position. So cause below warning: > > > > arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: > > interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... > > is too short > > > > Reduce minItems and maxItems to workaround this warning for > > 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. > > Other keep the same restriction. > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > --- > > Change from v1 to v2 > > - remove duplicate function in commit message > > - only reduce miniItems for after 1088a chips > > - maxItems change to 9. Otherwise report too long. > > --- > > .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- > > 1 file changed, 25 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > > index 199b34fdbefc4..1bfced6ed620c 100644 > > --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > > +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > > @@ -82,14 +82,37 @@ allOf: > > enum: > > - fsl,ls1043a-extirq > > - fsl,ls1046a-extirq > > + then: > > + properties: > > + interrupt-map: > > + minItems: 12 > > + maxItems: 12 > > + interrupt-map-mask: > > + items: > > + - const: 0xf > > + - const: 0 > > + > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > - fsl,ls1088a-extirq > > - fsl,ls2080a-extirq > > - fsl,lx2160a-extirq > > +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > > +# function function to parser interrupt-map. So it doesn't consider > > Same issue as last time, double function. > > Please run scripts/checkpatch.pl and fix reported warnings. Then please > run 'scripts/checkpatch.pl --strict' and (probably) fix more warnings. > Some warnings can be ignored, especially from --strict run, but the code > here looks like it needs a fix. Feel free to get in touch if the warning > is not clear. Thanks, I forget add --strict this time. > > > > +# '#address-size' in parent interrupt controller, such as GIC. > > +# > > +# When dt-binding verify interrupt-map, item data matrix is spitted at > > +# incorrect position. Reduce minItems and maxItems to workaround this > > +# problem. > > + > > then: > > properties: > > interrupt-map: > > - minItems: 12 > > - maxItems: 12 > > + minItems: 8 > > + maxItems: 9 > > Are you sure it works? I see 12 items in fsl-ls1088a.dtsi. interrupt-map = <0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, <1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, ... <11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; Total 12*6 = 72 data. Normal each row should be 6 data. but when GIC have #address-size, <2>, dt-schemal split at at (6+2=8). "interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0]" So 72/8 = 9, I just realize it can divide to whole number. so minItems can be set 9 also. > > What's more, I do not see your errors/warnings at all. I using below command pip3 install git+https://github.com/devicetree-org/dt-schema.git@main ... Resolved https://github.com/devicetree-org/dt-schema.git to commit 0934678abc36614cd3c5165ca49ba78b881ee2fa make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y fsl-ls1088a-qds.dtb make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8 CHECK_DTBS=y fsl-ls1088a-qds.dtb SCHEMA Documentation/devicetree/bindings/processed-schema.json DTC [C] arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: syscon@1f70000: interrupt-controller@14:interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], [2, 4, 3, 0, 1, 0, 3, 4], [4, 0, 1, 0, 4, 4, 5, 0], [1, 0, 5, 4, 6, 0, 1, 0], [6, 4, 7, 0, 1, 0, 7, 4], [8, 0, 1, 0, 8, 4, 9, 0], [1, 0, 9, 4, 10, 0, 1, 0], [10, 4, 11, 0, 1, 0, 11, 4]] is too short from schema $id: http://devicetree.org/schemas/soc/fsl/fsl,layerscape-scfg.yaml# arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], [2, 4, 3, 0, 1, 0, 3, 4], [4, 0, 1, 0, 4, 4, 5, 0], [1, 0, 5, 4, 6, 0, 1, 0], [6, 4, 7, 0, 1, 0, 7, 4], [8, 0, 1, 0, 8, 4, 9, 0], [1, 0, 9, 4, 10, 0, 1, 0], [10, 4, 11, 0, 1, 0, 11, 4]] is too short from schema $id: http://devicetree.org/schemas/interrupt-controller/fsl,ls-extirq.yaml# arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: fsl-mc@80c000000: msi-parent:0: [16, 0] is too long from schema $id: http://devicetree.org/schemas/misc/fsl,qoriq-mc.yaml# Frank > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-04 15:36 ` Frank Li @ 2024-10-06 13:30 ` Krzysztof Kozlowski 2024-10-06 13:37 ` Krzysztof Kozlowski 0 siblings, 1 reply; 6+ messages in thread From: Krzysztof Kozlowski @ 2024-10-06 13:30 UTC (permalink / raw) To: Frank Li Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx On 04/10/2024 17:36, Frank Li wrote: > On Fri, Oct 04, 2024 at 08:43:23AM +0200, Krzysztof Kozlowski wrote: >> On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote: >>> The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT >>> function to parser interrupt-map. So it doesn't consider '#address-size' >>> in parent interrupt controller, such as GIC. >>> >>> When dt-binding verify interrupt-map, item data matrix is spitted at >>> incorrect position. So cause below warning: >>> >>> arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: >>> interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... >>> is too short >>> >>> Reduce minItems and maxItems to workaround this warning for >>> 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. >>> Other keep the same restriction. >>> >>> Signed-off-by: Frank Li <Frank.Li@nxp.com> >>> --- >>> Change from v1 to v2 >>> - remove duplicate function in commit message >>> - only reduce miniItems for after 1088a chips >>> - maxItems change to 9. Otherwise report too long. >>> --- >>> .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- >>> 1 file changed, 25 insertions(+), 2 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>> index 199b34fdbefc4..1bfced6ed620c 100644 >>> --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>> +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>> @@ -82,14 +82,37 @@ allOf: >>> enum: >>> - fsl,ls1043a-extirq >>> - fsl,ls1046a-extirq >>> + then: >>> + properties: >>> + interrupt-map: >>> + minItems: 12 >>> + maxItems: 12 >>> + interrupt-map-mask: >>> + items: >>> + - const: 0xf >>> + - const: 0 >>> + >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> - fsl,ls1088a-extirq >>> - fsl,ls2080a-extirq >>> - fsl,lx2160a-extirq >>> +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT >>> +# function function to parser interrupt-map. So it doesn't consider >> >> Same issue as last time, double function. >> >> Please run scripts/checkpatch.pl and fix reported warnings. Then please >> run 'scripts/checkpatch.pl --strict' and (probably) fix more warnings. >> Some warnings can be ignored, especially from --strict run, but the code >> here looks like it needs a fix. Feel free to get in touch if the warning >> is not clear. > > Thanks, I forget add --strict this time. > >> >> >>> +# '#address-size' in parent interrupt controller, such as GIC. >>> +# >>> +# When dt-binding verify interrupt-map, item data matrix is spitted at >>> +# incorrect position. Reduce minItems and maxItems to workaround this >>> +# problem. >>> + >>> then: >>> properties: >>> interrupt-map: >>> - minItems: 12 >>> - maxItems: 12 >>> + minItems: 8 >>> + maxItems: 9 >> >> Are you sure it works? I see 12 items in fsl-ls1088a.dtsi. > > interrupt-map = > <0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > <1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, > ... > <11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; > > Total 12*6 = 72 data. > > Normal each row should be 6 data. > > but when GIC have #address-size, <2>, dt-schemal split at at (6+2=8). > > "interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0]" > > So 72/8 = 9, I just realize it can divide to whole number. so minItems > can be set 9 also. I read it three times but I cannot parse it. I cannot translate above interrupt-map to anything meaningful, so it looks to me that not only address-cells is ignored but entire format is different from what the spec asks. This is not some ancient 15 year old code, but was added in 2019. You should not add fake constraints to a valid property, because what if other system implements this correctly? Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-06 13:30 ` Krzysztof Kozlowski @ 2024-10-06 13:37 ` Krzysztof Kozlowski 0 siblings, 0 replies; 6+ messages in thread From: Krzysztof Kozlowski @ 2024-10-06 13:37 UTC (permalink / raw) To: Frank Li Cc: Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx On 06/10/2024 15:30, Krzysztof Kozlowski wrote: > On 04/10/2024 17:36, Frank Li wrote: >> On Fri, Oct 04, 2024 at 08:43:23AM +0200, Krzysztof Kozlowski wrote: >>> On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote: >>>> The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT >>>> function to parser interrupt-map. So it doesn't consider '#address-size' >>>> in parent interrupt controller, such as GIC. >>>> >>>> When dt-binding verify interrupt-map, item data matrix is spitted at >>>> incorrect position. So cause below warning: >>>> >>>> arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: >>>> interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... >>>> is too short >>>> >>>> Reduce minItems and maxItems to workaround this warning for >>>> 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. >>>> Other keep the same restriction. >>>> >>>> Signed-off-by: Frank Li <Frank.Li@nxp.com> >>>> --- >>>> Change from v1 to v2 >>>> - remove duplicate function in commit message >>>> - only reduce miniItems for after 1088a chips >>>> - maxItems change to 9. Otherwise report too long. >>>> --- >>>> .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- >>>> 1 file changed, 25 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>>> index 199b34fdbefc4..1bfced6ed620c 100644 >>>> --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>>> +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml >>>> @@ -82,14 +82,37 @@ allOf: >>>> enum: >>>> - fsl,ls1043a-extirq >>>> - fsl,ls1046a-extirq >>>> + then: >>>> + properties: >>>> + interrupt-map: >>>> + minItems: 12 >>>> + maxItems: 12 >>>> + interrupt-map-mask: >>>> + items: >>>> + - const: 0xf >>>> + - const: 0 >>>> + >>>> + - if: >>>> + properties: >>>> + compatible: >>>> + contains: >>>> + enum: >>>> - fsl,ls1088a-extirq >>>> - fsl,ls2080a-extirq >>>> - fsl,lx2160a-extirq >>>> +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT >>>> +# function function to parser interrupt-map. So it doesn't consider >>> >>> Same issue as last time, double function. >>> >>> Please run scripts/checkpatch.pl and fix reported warnings. Then please >>> run 'scripts/checkpatch.pl --strict' and (probably) fix more warnings. >>> Some warnings can be ignored, especially from --strict run, but the code >>> here looks like it needs a fix. Feel free to get in touch if the warning >>> is not clear. >> >> Thanks, I forget add --strict this time. >> >>> >>> >>>> +# '#address-size' in parent interrupt controller, such as GIC. >>>> +# >>>> +# When dt-binding verify interrupt-map, item data matrix is spitted at >>>> +# incorrect position. Reduce minItems and maxItems to workaround this >>>> +# problem. >>>> + >>>> then: >>>> properties: >>>> interrupt-map: >>>> - minItems: 12 >>>> - maxItems: 12 >>>> + minItems: 8 >>>> + maxItems: 9 >>> >>> Are you sure it works? I see 12 items in fsl-ls1088a.dtsi. >> >> interrupt-map = >> <0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, >> <1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, >> ... >> <11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; >> >> Total 12*6 = 72 data. >> >> Normal each row should be 6 data. >> >> but when GIC have #address-size, <2>, dt-schemal split at at (6+2=8). >> >> "interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0]" >> >> So 72/8 = 9, I just realize it can divide to whole number. so minItems >> can be set 9 also. > > I read it three times but I cannot parse it. > > I cannot translate above interrupt-map to anything meaningful, so it > looks to me that not only address-cells is ignored but entire format is > different from what the spec asks. > > This is not some ancient 15 year old code, but was added in 2019. > > You should not add fake constraints to a valid property, because what if > other system implements this correctly? I read now Rob's response: dropping constraints is also a way. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number 2024-10-03 21:43 [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number Frank Li 2024-10-04 6:43 ` Krzysztof Kozlowski @ 2024-10-05 18:03 ` Rob Herring 1 sibling, 0 replies; 6+ messages in thread From: Rob Herring @ 2024-10-05 18:03 UTC (permalink / raw) To: Frank Li Cc: Thomas Gleixner, Krzysztof Kozlowski, Conor Dooley, Shawn Guo, open list:IRQCHIP DRIVERS, open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, imx On Thu, Oct 03, 2024 at 05:43:15PM -0400, Frank Li wrote: > The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > function to parser interrupt-map. So it doesn't consider '#address-size' > in parent interrupt controller, such as GIC. > > When dt-binding verify interrupt-map, item data matrix is spitted at > incorrect position. So cause below warning: > > arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb: interrupt-controller@14: > interrupt-map: [[0, 0, 1, 0, 0, 4, 1, 0], [1, 0, 1, 4, 2, 0, 1, 0], ... > is too short > > Reduce minItems and maxItems to workaround this warning for > 'fsl,ls1088a-extirq', 'fsl,ls2080a-extirq' and fsl,lx2160a-extirq. > Other keep the same restriction. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > Change from v1 to v2 > - remove duplicate function in commit message > - only reduce miniItems for after 1088a chips > - maxItems change to 9. Otherwise report too long. > --- > .../interrupt-controller/fsl,ls-extirq.yaml | 27 +++++++++++++++++-- > 1 file changed, 25 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > index 199b34fdbefc4..1bfced6ed620c 100644 > --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,ls-extirq.yaml > @@ -82,14 +82,37 @@ allOf: > enum: > - fsl,ls1043a-extirq > - fsl,ls1046a-extirq > + then: > + properties: > + interrupt-map: > + minItems: 12 > + maxItems: 12 > + interrupt-map-mask: > + items: > + - const: 0xf > + - const: 0 > + > + - if: > + properties: > + compatible: > + contains: > + enum: > - fsl,ls1088a-extirq > - fsl,ls2080a-extirq > - fsl,lx2160a-extirq > +# The driver(drivers/irqchip/irq-ls-extirq.c) have not use standard DT > +# function function to parser interrupt-map. So it doesn't consider > +# '#address-size' in parent interrupt controller, such as GIC. > +# > +# When dt-binding verify interrupt-map, item data matrix is spitted at > +# incorrect position. Reduce minItems and maxItems to workaround this > +# problem. > + > then: > properties: > interrupt-map: > - minItems: 12 > - maxItems: 12 > + minItems: 8 > + maxItems: 9 I think it is probably better to just not put in any constraints. It's never going to be parsed correctly. Rob ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-10-06 13:37 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-10-03 21:43 [PATCH v2 1/1] dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number Frank Li 2024-10-04 6:43 ` Krzysztof Kozlowski 2024-10-04 15:36 ` Frank Li 2024-10-06 13:30 ` Krzysztof Kozlowski 2024-10-06 13:37 ` Krzysztof Kozlowski 2024-10-05 18:03 ` Rob Herring
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).