Re: [PATCH 1/4] dt-binding: irq: imx-irqsteer: use irq number per channel instead of group number

From: Lucas Stach
Date: Fri Jan 18 2019 - 03:48:16 EST


Am Freitag, den 18.01.2019, 07:53 +0000 schrieb Aisheng Dong:
> Not all 64 interrupts may be used in one group. e.g. most irqsteer in
> imx8qxp and imx8qm subsystems supports only 32 interrupts.
>
> As the IP integration parameters are Channel number and interrupts number,
> let's use fsl,irqs-per-chan to represents how many interrupts supported
> by this irqsteer channel.

Sorry, but total NACK. I've got to great lengths with dumping the
actually implemented register layout on i.MX8M and AFAICS the IRQs are
always managed in groups of 64 IRQs, even if less than that are
connected as input IRQs. This is what the actually present register set
on i.MX8M tells us.

Regards,
Lucas

> Cc: Marc Zyngier <marc.zyngier@xxxxxxx>
> > Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx>
> Cc: devicetree@xxxxxxxxxxxxxxx
> > Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxx>
> ---
> Â.../devicetree/bindings/interrupt-controller/fsl,irqsteer.txtÂÂÂÂÂÂÂ| 6 +++---
> Â1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.txt b/Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.txt
> index 45790ce..eaabcda 100644
> --- a/Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.txt
> +++ b/Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.txt
> @@ -16,8 +16,8 @@ Required properties:
> Â- #interrupt-cells: Specifies the number of cells needed to encode an
> ÂÂÂinterrupt source. The value must be 1.
> Â- fsl,channel: The output channel that all input IRQs should be steered into.
> -- fsl,irq-groups: Number of IRQ groups managed by this controller instance.
> -ÂÂEach group manages 64 input interrupts.
> +- fsl,irqs-per-chan: Number of input interrupts per channel. Should be multiple of 32
> +ÂÂinput interrupts and up to 512 interrupts.
> Â
> ÂExample:
> Â
> @@ -28,7 +28,7 @@ Example:
> > Â clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>;
> > Â clock-names = "ipg";
> > Â fsl,channel = <0>;
> > - fsl,irq-groups = <1>;
> > + fsl,irqs-per-chan= <64>;
> > Â interrupt-controller;
> > Â #interrupt-cells = <1>;
> > Â };