linux/include
Michael Ellerman 9c8313343c MSI: Give archs the option to allocate all MSI/Xs at once.
This patch introduces an optional function, arch_setup_msi_irqs(),
(note the plural) which gives an arch the opportunity to do per-device
setup for MSI/X and then allocate all the requested MSI/Xs at once.

If that's not required by the arch, the default version simply calls
arch_setup_msi_irq() for each MSI irq required.

arch_setup_msi_irqs() is passed a pdev, attached to the pdev is a list
of msi_descs with irq == 0, it is up to the arch to connect these up to
an irq (via set_irq_msi()) or return an error. For convenience the number
of vectors and the type are passed also.

All msi_descs with irq != 0 are considered allocated, and the arch
teardown routine will be called on them when necessary.

The existing semantics of pci_enable_msix() are that if the requested
number of irqs can not be allocated, the maximum number that _could_ be
allocated is returned. To support that, we define that in case of an
error from arch_setup_msi_irqs(), the number of msi_descs with irq != 0
are considered allocated, and are counted toward the "max that could be
allocated".


Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-05-02 19:02:38 -07:00
..
acpi ACPI: Disable MSI on request of FADT 2007-04-25 01:13:47 -04:00
asm-alpha PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-arm PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
asm-arm26 [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
asm-avr32 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-cris [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
asm-frv PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-generic Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-04-27 09:26:46 -07:00
asm-h8300 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-i386 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-ia64 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-m32r PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-m68k [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
asm-m68knommu PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-mips PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-parisc PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-powerpc Merge branch 'for-2.6.22' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-04-30 08:10:12 -07:00
asm-ppc [POWERPC] Stop using ppc_sys for Xilinx Virtex boards 2007-04-30 11:02:04 +10:00
asm-s390 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-04-27 09:26:46 -07:00
asm-sh PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-sh64 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-sparc Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2007-04-27 09:29:04 -07:00
asm-sparc64 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-um [NET]: div64_64 consolidate (rev3) 2007-04-25 22:23:33 -07:00
asm-v850 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-x86_64 PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
asm-xtensa PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
crypto [CRYPTO] api: Allow multiple frontends per backend 2007-02-07 09:21:01 +11:00
keys [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both 2007-04-26 15:48:28 -07:00
linux MSI: Give archs the option to allocate all MSI/Xs at once. 2007-05-02 19:02:38 -07:00
math-emu
media V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules 2007-04-27 15:43:50 -03:00
mtd UBI: Unsorted Block Images 2007-04-27 14:23:33 +03:00
net Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2007-04-30 08:14:42 -07:00
pcmcia serial: Add PCMCIA IDs for Quatech DSP-100 dual RS232 adapter. 2007-02-16 15:19:16 -08:00
rdma PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
rxrpc [AF_RXRPC]: Delete the old RxRPC code. 2007-04-26 15:55:48 -07:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-02-19 13:32:28 -08:00
sound [ALSA] version 1.0.14rc3 2007-03-14 08:25:52 +01:00
video [PATCH] Video: fb, add true ref_count atomicity 2007-02-12 09:48:42 -08:00
Kbuild