[PATCH 0/5] irqchip: kill the GIC routable domain

Nishanth Menon nm at ti.com
Sun Dec 7 09:16:47 PST 2014


On 13:46-20141206, Marc Zyngier wrote:
> After my series removing the gic_arch_extn hack, I figured that the
> next step was to expunge the GIC driver of the routable domain horror.
> 
> There is a few reasons for this:
> 
> - The allocation of interrupts in this domain is fairly similar to
>   what we do for MSI (see the GICv2m driver), and stacked domains have
>   proved to be a fitting solution.
> 
> - The current description in DT is currently entierely inaccurate, and
>   as we already broke it for the OMAP WUGEN block, we might as well do
>   it again for the TI crossbar.
> 
> - The way crossbar, WUGEN and GIC interract is quite complex (this is
>   effectively a stack of three interrupt controllers with interesting
>   exceptions and braindead routing), and stacked domains are the right
>   abstraction for that.
> 
> - Other platforms (Freescale Vybrid) are starting to come up with the
>   same type of things, and it'd be good to avoid them following the
>   same broken model.
> 
> - It removes a few lines from the code base so it can't completely be
>   a bad idea!
> 
> So this patch series does exactly that: make the crossbar a stacked
> interrupt controller that only takes care of setting up the routing,
> fix the DTs to represent the actual HW, and remove a bit of the
> craziness from the GIC code.
> 
> As for the previous series:
> 
> - I haven't been able to test this at all, I don't have access to the
>   HW. TI people, please test and post fixes, as I expect I introduced
>   a few bugs.
> 
> - This actively *breaks* existing setups. If you boot a new kernel
>   with an old DT, interrupt routing *will* be broken. Old kernels on a
>   new DT won't boot either! You've been warned. This really outline
>   the necessity of actually describing the HW in device trees...
> 
> As for the patches, they are on top of 3.18-rc7 + tip/irq/irqdomain-arm +
> the gic_arch_extn removal series.
> 
> I've pushed the code to:
> git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/die-gic-arch-extn-die-die-die
> 
> Comments welcome,
> 
> 	 M.
> 
> Marc Zyngier (5):
>   genirq: Add irqchip_set_wake_parent
>   irqchip: crossbar: convert dra7 crossbar to stacked domains
>   DT: update ti,irq-crossbar binding
>   irqchip: GIC: get rid of routable domain
>   DT: arm,gic: kill arm,routable-irqs
> 
>  Documentation/devicetree/bindings/arm/gic.txt      |   6 -
>  .../devicetree/bindings/arm/omap/crossbar.txt      |  18 +-
>  arch/arm/boot/dts/dra7.dtsi                        |  10 +-
>  arch/arm/boot/dts/dra72x.dtsi                      |   3 +-
>  arch/arm/boot/dts/dra74x.dtsi                      |   5 +-
>  arch/arm/mach-omap2/omap4-common.c                 |   4 -
>  drivers/irqchip/irq-crossbar.c                     | 202 ++++++++++++---------
>  drivers/irqchip/irq-gic.c                          |  59 +-----
>  include/linux/irq.h                                |   1 +
>  include/linux/irqchip/arm-gic.h                    |   6 -
>  include/linux/irqchip/irq-crossbar.h               |  11 --
>  kernel/irq/chip.c                                  |  16 ++
>  12 files changed, 153 insertions(+), 188 deletions(-)
>  delete mode 100644 include/linux/irqchip/irq-crossbar.h
> 
> -- 
> 2.1.3
> 

	Patches are available here:
	https://patchwork.kernel.org/patch/5449231/
	https://patchwork.kernel.org/patch/5449241/
	https://patchwork.kernel.org/patch/5449271/
	https://patchwork.kernel.org/patch/5449261/
	https://patchwork.kernel.org/patch/5449251/

-- 
Regards,
Nishanth Menon



More information about the linux-arm-kernel mailing list