RE: [PATCH 1/3] dt-bindings/irq: add binding for NXP INTMUX interrupt multiplexer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019-12-18 11:34, Joakim Zhang wrote:
-----Original Message-----
From: Joakim Zhang <qiangqing.zhang@xxxxxxx>
Sent: 2019年12月18日 18:22
To: Marc Zyngier <maz@xxxxxxxxxx>
Cc: tglx@xxxxxxxxxxxxx; jason@xxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx;
mark.rutland@xxxxxxx; shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; S.j.
Wang <shengjiu.wang@xxxxxxx>; kernel@xxxxxxxxxxxxxx;
festevam@xxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>;
linux-kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx;
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Andy Duan <fugang.duan@xxxxxxx>;
Aisheng Dong <aisheng.dong@xxxxxxx>
Subject: RE: [PATCH 1/3] dt-bindings/irq: add binding for NXP INTMUX interrupt
multiplexer

[...]

> What I don't understand is how the interrupt descriptor can indicate
> which channel it is multiplexed on. The driver doesn't makes this
> clear either, and I strongly suspect that it was never tested with more than a
single channel...

Yes, to be frank, I tested with a signle channel, I will take this into
consideration. Thanks.
Hi Marc,

I tested channels from 1 to 8, and no issue found.

We register irq handler with irq_set_chained_handler_and_data(), so
the interrupt descriptor could find the controller's private data, and
channel index is one part of private data.
I think this can explain the interrupt descriptor how to indicate
which channel it is multiplexed.

But that doesn't explain how the driver can find which channel a given
interrupts is wired to. Nothing in your binding shows how you can extract
the channel number from the interrupt descriptor. Nothing in the driver
even *computes* a channel number.

As far as I can see, you register a bunch of domains, all with the same
OF node, so all your interrupts end-up with the same domain. Is it really
what you expect?

This driver looks terribly wrong.

        M.
--
Jazz is not dead. It just smells funny...



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux