Skip to content

genirq: Hierarchical irq domains and generic MSI interrupt code

Thomas Gleixner lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 77 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16irqdomain: Introduce new interfaces to support hierarchy irqdomainsDocumentation/IRQ-domain.txt include/linux/irq.h include/linux/irqdomain.h +3 more+545 -1612 replies
2/16irqdomain: Do irq_find_mapping and set_type for hierarchy irqdomain in case OFkernel/irq/irqdomain.c+18 -90 replies
3/16genirq: Introduce helper functions to support stacked irq_chipinclude/linux/irq.h kernel/irq/chip.c+22 -00 replies
4/16genirq: Introduce irq_chip.irq_compose_msi_msg() to support stacked irqchipinclude/linux/irq.h kernel/irq/chip.c+22 -010 replies
5/16genirq: Add IRQ_SET_MASK_OK_DONE to support stacked irqchipinclude/linux/irq.h kernel/irq/manage.c+6 -00 replies
6/16genirq: Split out flow handler typedefs into seperate header fileinclude/linux/irq.h include/linux/irqhandler.h+15 -50 replies
7/16genirq: Introduce helper irq_domain_set_info() to reduce duplicated codeinclude/linux/irqdomain.h kernel/irq/irqdomain.c+15 -013 replies
8/16genirq: Introduce callback irq_chip.irq_write_msi_msginclude/linux/irq.h+8 -030 replies
9/16genirq: Add generic msi irq domain supportinclude/linux/msi.h kernel/irq/Kconfig kernel/irq/Makefile +1 more+165 -06 replies
10/16PCI/MSI: Move cached entry functions to irq coredrivers/pci/Kconfig drivers/pci/msi.c kernel/irq/msi.c+14 -180 replies
11/16PCI/MSI: Remove unnecessary braces around single statementsdrivers/pci/msi.c+3 -60 replies
12/16PCI/MSI: Simplify PCI MSI code by initializing msi_desc.nvec_used earlierdrivers/iommu/irq_remapping.c drivers/pci/msi.c+15 -330 replies
13/16PCI/MSI: Kill redundant call of irq_set_msi_desc() for MSI-X interruptsdrivers/pci/msi.c+0 -10 replies
14/16PCI/MSI: Rename __read_msi_msg() to __pci_read_msi_msg()arch/powerpc/platforms/pseries/msi.c arch/x86/pci/xen.c drivers/pci/msi.c +1 more+7 -120 replies
15/16PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg()arch/arm/mach-iop13xx/msi.c arch/ia64/kernel/msi_ia64.c arch/ia64/sn/kernel/msi_sn.c +23 more+34 -351 reply
16/16PCI/MSI: Enhance core to support hierarchy irqdomaindrivers/pci/Kconfig drivers/pci/msi.c include/linux/msi.h+75 -02 replies

Reviews trailers per patch

2 of 16 patches have a Reviewed-by or Acked-by.

PatchBjorn Helgaas
1/16
2/16
3/16
4/16
5/16
6/16
7/16
8/16
9/16
10/16
11/16A-b
12/16A-b
13/16
14/16
15/16
16/16

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [patch 00/16] genirq: Hierarchical irq domains and generic MSI interrupt code

This is an extract from Jiangs various patch series which only contains the generic irq and MSI parts w/o the x86 specific modifications.

This is roughly what I plan to merge into the generic irq core, so the various outstanding patches (irqchip/x86/...) can be based on this.

It's available from git as well:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/irqdomain

Note, that branch is not yet exposed to linux-next and subject to modifications including rebasing.

Can all involved parties please have a close look and retest their patches on top of this?

Jiang, you need to merge that into x86/apic for rebasing your series.

Thanks,

tglx
----

 Documentation/IRQ-domain.txt           |   71 +++++
 arch/arm/mach-iop13xx/msi.c            |    2 
 arch/ia64/kernel/msi_ia64.c            |    4 
 arch/ia64/sn/kernel/msi_sn.c           |    4 
 arch/mips/pci/msi-octeon.c             |    2 
 arch/mips/pci/msi-xlp.c                |    2 
 arch/mips/pci/pci-xlr.c                |    2 
 arch/powerpc/platforms/cell/axon_msi.c |    2 
 arch/powerpc/platforms/powernv/pci.c   |    2 
 arch/powerpc/platforms/pseries/msi.c   |    2 
 arch/powerpc/sysdev/fsl_msi.c          |    2 
 arch/powerpc/sysdev/mpic_pasemi_msi.c  |    2 
 arch/powerpc/sysdev/mpic_u3msi.c       |    2 
 arch/powerpc/sysdev/ppc4xx_hsta_msi.c  |    2 
 arch/powerpc/sysdev/ppc4xx_msi.c       |    2 
 arch/s390/pci/pci.c                    |    2 
 arch/sparc/kernel/pci_msi.c            |    2 
 arch/tile/kernel/pci_gx.c              |    2 
 arch/x86/kernel/apic/io_apic.c         |    4 
 arch/x86/pci/xen.c                     |    4 
 drivers/iommu/irq_remapping.c          |    8 
 drivers/irqchip/irq-armada-370-xp.c    |    2 
 drivers/pci/Kconfig                    |    6 
 drivers/pci/host/pci-tegra.c           |    2 
 drivers/pci/host/pcie-designware.c     |    2 
 drivers/pci/host/pcie-rcar.c           |    2 
 drivers/pci/host/pcie-xilinx.c         |    2 
 drivers/pci/msi.c                      |  150 ++++++-----
 drivers/vfio/pci/vfio_pci_intrs.c      |    2 
 include/linux/irq.h                    |   33 ++
 include/linux/irqdomain.h              |   91 +++++++
 include/linux/irqhandler.h             |   14 +
 include/linux/msi.h                    |   53 +++-
 kernel/irq/Kconfig                     |   15 +
 kernel/irq/Makefile                    |    1 
 kernel/irq/chip.c                      |   37 ++
 kernel/irq/irqdomain.c                 |  418 +++++++++++++++++++++++++++++++--
 kernel/irq/manage.c                    |    2 
 kernel/irq/msi.c                       |  132 ++++++++++
 39 files changed, 959 insertions(+), 130 deletions(-)