linux/arch/mips/pci
Linus Torvalds 9e66645d72 Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq domain updates from Thomas Gleixner:
 "The real interesting irq updates:

   - Support for hierarchical irq domains:

     For complex interrupt routing scenarios where more than one
     interrupt related chip is involved we had no proper representation
     in the generic interrupt infrastructure so far.  That made people
     implement rather ugly constructs in their nested irq chip
     implementations.  The main offenders are x86 and arm/gic.

     To distangle that mess we have now hierarchical irqdomains which
     seperate the various interrupt chips and connect them via the
     hierarchical domains.  That keeps the domain specific details
     internal to the particular hierarchy level and removes the
     criss/cross referencing of chip internals.  The resulting hierarchy
     for a complex x86 system will look like this:

        vector          mapped: 74
          msi-0         mapped: 2
          dmar-ir-1     mapped: 69
            ioapic-1    mapped: 4
            ioapic-0    mapped: 20
            pci-msi-2   mapped: 45
          dmar-ir-0     mapped: 3
            ioapic-2    mapped: 1
            pci-msi-1   mapped: 2
          htirq         mapped: 0

     Neither ioapic nor pci-msi know about the dmar interrupt remapping
     between themself and the vector domain.  If interrupt remapping is
     disabled ioapic and pci-msi become direct childs of the vector
     domain.

     In hindsight we should have done that years ago, but in hindsight
     we always know better :)

   - Support for generic MSI interrupt domain handling

     We have more and more non PCI related MSI interrupts, so providing
     a generic infrastructure for this is better than having all
     affected architectures implementing their own private hacks.

   - Support for PCI-MSI interrupt domain handling, based on the generic
     MSI support.

     This part carries the pci/msi branch from Bjorn Helgaas pci tree to
     avoid a massive conflict.  The PCI/MSI parts are acked by Bjorn.

  I have two more branches on top of this.  The full conversion of x86
  to hierarchical domains and a partial conversion of arm/gic"

* 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
  genirq: Move irq_chip_write_msi_msg() helper to core
  PCI/MSI: Allow an msi_controller to be associated to an irq domain
  PCI/MSI: Provide mechanism to alloc/free MSI/MSIX interrupt from irqdomain
  PCI/MSI: Enhance core to support hierarchy irqdomain
  PCI/MSI: Move cached entry functions to irq core
  genirq: Provide default callbacks for msi_domain_ops
  genirq: Introduce msi_domain_alloc/free_irqs()
  asm-generic: Add msi.h
  genirq: Add generic msi irq domain support
  genirq: Introduce callback irq_chip.irq_write_msi_msg
  genirq: Work around __irq_set_handler vs stacked domains ordering issues
  irqdomain: Introduce helper function irq_domain_add_hierarchy()
  irqdomain: Implement a method to automatically call parent domains alloc/free
  genirq: Introduce helper irq_domain_set_info() to reduce duplicated code
  genirq: Split out flow handler typedefs into seperate header file
  genirq: Add IRQ_SET_MASK_OK_DONE to support stacked irqchip
  genirq: Introduce irq_chip.irq_compose_msi_msg() to support stacked irqchip
  genirq: Add more helper functions to support stacked irq_chip
  genirq: Introduce helper functions to support stacked irq_chip
  irqdomain: Do irq_find_mapping and set_type for hierarchy irqdomain in case OF
  ...
2014-12-10 09:01:01 -08:00
..
fixup-bcm63xx.c MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. 2009-09-17 20:07:52 +02:00
fixup-capcella.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
fixup-cobalt.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-emma2rh.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-fuloong2e.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-ip32.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-jmr3927.c
fixup-lantiq.c of/irq: Create of_irq_parse_and_map_pci() to consolidate arch code. 2013-10-24 11:50:36 +01:00
fixup-lemote2f.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-loongson3.c MIPS: Loongson 3: Add HT-linked PCI support 2014-03-31 18:17:12 +02:00
fixup-malta.c MIPS: Malta: Let PIIX4 respond to PCI special cycles 2014-05-30 21:01:09 +02:00
fixup-mpc30x.c mips: mark const init data with __initconst instead of __initdata 2012-07-19 11:23:43 +02:00
fixup-pmcmsp.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-rbtx4927.c
fixup-rbtx4938.c
fixup-rc32434.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
fixup-sb1250.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
fixup-sni.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-tb0219.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
fixup-tb0226.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
fixup-tb0287.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
Makefile MIPS: Loongson: Rename CONFIG_LEMOTE_MACH3A to CONFIG_LOONGSON_MACH3X 2014-07-30 21:47:33 +02:00
msi-octeon.c PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg() 2014-11-23 13:01:45 +01:00
msi-xlp.c Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
ops-bcm63xx.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-bonito64.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-bridge.c MIPS: IP27: Correct fucked grammar in ops-bridge.c 2012-12-13 18:15:28 +01:00
ops-emma2rh.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
ops-gt64xxx_pci0.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ops-lantiq.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-loongson2.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-loongson3.c MIPS: Loongson 3: Add HT-linked PCI support 2014-03-31 18:17:12 +02:00
ops-mace.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-msc.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-nile4.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-pmcmsp.c mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
ops-rc32434.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
ops-sni.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
ops-tx3927.c mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
ops-tx4927.c MIPS: TXx9: Delete an unused variable in tx4927_pcibios_setup 2014-07-30 15:58:39 +02:00
ops-vr41xx.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-alchemy.c MIPS: Alchemy: pci: use clk framework to enable PCI clock 2014-07-30 14:09:42 +02:00
pci-ar71xx.c MIPS: ath79: simplify platform_get_resource_byname/devm_ioremap_resource 2013-10-29 21:23:47 +01:00
pci-ar724x.c MIPS: ath79: simplify platform_get_resource_byname/devm_ioremap_resource 2013-10-29 21:23:47 +01:00
pci-bcm47xx.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-bcm63xx.c MIPS: BCM63XX: add support for BCM3368 Cable Modem 2013-07-01 15:10:53 +02:00
pci-bcm63xx.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-bcm1480.c MIPS: PCI: pci-bcm1480: Include missing vt.h header 2013-09-19 12:50:16 +02:00
pci-bcm1480ht.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-emma2rh.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
pci-ip27.c mips: delete non-required instances of include <linux/init.h> 2014-01-24 22:39:56 +01:00
pci-ip32.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-lantiq.c pci: pci-lantiq: remove duplicate check on resource 2014-10-22 18:14:04 +02:00
pci-lantiq.h MIPS: Lantiq: Add PCI controller support. 2011-05-19 09:55:42 +01:00
pci-lasat.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-malta.c MIPS: Malta: Make use of generic CM support 2014-03-26 23:09:06 +01:00
pci-octeon.c MIPS: cavium-octeon: fix I/O space setup on non-PCI systems 2013-08-26 15:31:54 +02:00
pci-rc32434.c MIPS: RC32434: fix broken PCI resource initialization 2014-05-26 09:02:06 +02:00
pci-rt3883.c arch/mips/pci: don't check resource with devm_ioremap_resource 2014-01-24 22:39:55 +01:00
pci-sb1250.c TTY:vt: convert remain take_over_console's users to do_take_over_console 2013-05-20 22:29:27 -07:00
pci-tx4927.c MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
pci-tx4938.c MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
pci-tx4939.c MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
pci-virtio-guest.c MIPS: paravirt: Add pci controller for virtio 2014-06-02 12:34:20 +02:00
pci-vr41xx.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-vr41xx.h MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
pci-xlp.c MIPS: PCI: Netlogic XLP9XX support 2014-01-24 22:39:49 +01:00
pci-xlr.c PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg() 2014-11-23 13:01:45 +01:00
pci.c MIPS: of/pci: Use of_pci_range_parser 2013-10-29 21:24:11 +01:00
pcie-octeon.c MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00