[PATCH v8 0/4] ARM: mediatek: Add support for interrupt polarity

Jason Cooper jason at lakedaemon.net
Wed Nov 26 00:08:19 PST 2014


Yingjoe,

On Tue, Nov 25, 2014 at 04:04:18PM +0800, Yingjoe Chen wrote:
> This series is 8th version of interrupt polarity support for MediaTek SoCs.
> 
> I rebased previous version to latest tip/irq/irqdomain, and fix issues
> raised by Marc & Mark. The interrupt & irq free work fine on mt8135 board.
> 
> Simplified block diagram for interrupt on my system:
> 
>     +-------+      +-------+
>  ---| SYSIRQ|------|ARM GIC|
>  ---|       |------|       |
>  ---|       |------|       |
>  ---|       |------|       |
>  ---|       |------|       |
>     +-------+      +-------+
> 
> In device tree, interrupt-parent for other devices is sysirq, child of gic.
> This describe HW better and allow device to specify polarity as it is sent
> by the device.
> 
> When using hierarchy irq domain, gic will use irq_domain_add_linear to
> create irqdomain and all interrupt numbers must come from device tree. My
> /proc/interrupts looks like this now:
> 
> # cat /proc/interrupts
>            CPU0
>  16:     149578  MT_SYSIRQ 113  mtk_timer
>  20:       1082  MT_SYSIRQ  54  serial
> 
> Changes in v8:
>  - Rebased to new tip/irq/irqdomain
>  - Update mediatek,sysirq.txt bindinds to document interrupt-cells format
>    and interrupt-parents
>  - Change interrupt-cells format check in mtk_sysirq.
>  - Minor coding style fix
> 
> Changes in v7:
>  - Discussed in [1]
>  - Rebased to tip/irq/irqdomain
>  - In mtk_sysirq_domain_alloc, use copy of irq_data to workaound of_node
>    check in gic_irq_domain_xlate.
> 
> Changes in v6:
>  - Discussed in [2]
>  - Rebased to tip/irq/irqdomain
> 
> Changes in v5:
>  - Discussed in [3]
>  - Fix bug on mt6589 reported by Matthias
>  - Fix bug for irq_find_mapping in irq_create_of_mapping
>  - Merge Marc's change to proper handle non-DT case in gic_init_bases
> 
> Changes in v4:
>  - Discussed in [4]
>  - Remove arm,hierarchy-irq-domain. When GIC is probed by DT, it will
> support hierarchy irqdomain.
> 
> Changes in v3:
>  - Discussed in [5]
>  - First implementation using hierarchy irqdomain
> 
> [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-November/304119.html
> [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-November/302221.html
> [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/298161.html
> [4] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/296911.html
> [5] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/293766.html
> 
> Yingjoe Chen (4):
>   irqchip: gic: Support hierarchy irq domain.
>   ARM: mediatek: Add sysirq interrupt polarity support
>   ARM: mediatek: Add sysirq in mt6589/mt8135/mt8127 dtsi
>   dt-bindings: add bindings for mediatek sysirq
> 
>  .../bindings/arm/mediatek/mediatek,sysirq.txt      |  28 ++++
>  arch/arm/boot/dts/mt6589.dtsi                      |  14 +-
>  arch/arm/boot/dts/mt8127.dtsi                      |  14 +-
>  arch/arm/boot/dts/mt8135.dtsi                      |  14 +-
>  drivers/irqchip/Kconfig                            |   1 +
>  drivers/irqchip/Makefile                           |   1 +
>  drivers/irqchip/irq-gic.c                          |  77 +++++++---
>  drivers/irqchip/irq-mtk-sysirq.c                   | 163 +++++++++++++++++++++
>  8 files changed, 282 insertions(+), 30 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
>  create mode 100644 drivers/irqchip/irq-mtk-sysirq.c

Patches 1, 2, and 4 applied to irqchip/core with a dependency on
tip/irq/irqdomain with a few small subject line tweaks.

thx,

Jason.



More information about the linux-arm-kernel mailing list