8b955b0ddd
This patch implements two functions ht_create_irq and ht_destroy_irq for use by drivers. Several other functions are implemented as helpers for arch specific irq_chip handlers. The driver for the card I tested this on isn't yet ready to be merged. However this code is and hypertransport irqs are in use in a few other places in the kernel. Not that any of this will get merged before 2.6.19 Because the ipath-ht400 is slightly out of spec this code will need to be generalized to work there. I think all of the powerpc uses are for a plain interrupt controller in a chipset so support for native hypertransport devices is a little less interesting. However I think this is a half way decent model on how to separate arch specific and generic helper code, and I think this is a functional model of how to get the architecture dependencies out of the msi code. [akpm@osdl.org: Kconfig fix] Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Greg KH <greg@kroah.com> Cc: Andi Kleen <ak@muc.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
64 lines
2.1 KiB
Plaintext
64 lines
2.1 KiB
Plaintext
#
|
|
# PCI configuration
|
|
#
|
|
config PCI_MSI
|
|
bool "Message Signaled Interrupts (MSI and MSI-X)"
|
|
depends on PCI
|
|
depends on (X86_LOCAL_APIC && X86_IO_APIC) || IA64
|
|
help
|
|
This allows device drivers to enable MSI (Message Signaled
|
|
Interrupts). Message Signaled Interrupts enable a device to
|
|
generate an interrupt using an inbound Memory Write on its
|
|
PCI bus instead of asserting a device IRQ pin.
|
|
|
|
Use of PCI MSI interrupts can be disabled at kernel boot time
|
|
by using the 'pci=nomsi' option. This disables MSI for the
|
|
entire system.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config PCI_MULTITHREAD_PROBE
|
|
bool "PCI Multi-threaded probe (EXPERIMENTAL)"
|
|
depends on PCI && EXPERIMENTAL
|
|
help
|
|
Say Y here if you want the PCI core to spawn a new thread for
|
|
every PCI device that is probed. This can cause a huge
|
|
speedup in boot times on multiprocessor machines, and even a
|
|
smaller speedup on single processor machines.
|
|
|
|
But it can also cause lots of bad things to happen. A number
|
|
of PCI drivers can not properly handle running in this way,
|
|
some will just not work properly at all, while others might
|
|
decide to blow up power supplies with a huge load all at once,
|
|
so use this option at your own risk.
|
|
|
|
It is very unwise to use this option if you are not using a
|
|
boot process that can handle devices being created in any
|
|
order. A program that can create persistant block and network
|
|
device names (like udev) is a good idea if you wish to use
|
|
this option.
|
|
|
|
Again, use this option at your own risk, you have been warned!
|
|
|
|
When in doubt, say N.
|
|
|
|
config PCI_DEBUG
|
|
bool "PCI Debugging"
|
|
depends on PCI && DEBUG_KERNEL
|
|
help
|
|
Say Y here if you want the PCI core to produce a bunch of debug
|
|
messages to the system log. Select this if you are having a
|
|
problem with PCI support and want to see more of what is going on.
|
|
|
|
When in doubt, say N.
|
|
|
|
config HT_IRQ
|
|
bool "Interrupts on hypertransport devices"
|
|
default y
|
|
depends on PCI_MSI
|
|
depends on X86_LOCAL_APIC && X86_IO_APIC
|
|
help
|
|
This allows native hypertransport devices to use interrupts.
|
|
|
|
If unsure say Y.
|