diff options
author | Mark Maule <maule@sgi.com> | 2006-04-14 17:03:49 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-21 14:59:59 -0400 |
commit | 10083072bfabc40bc47306e512c158c57cf55c2e (patch) | |
tree | 2c7c3f08ae779594026e67a7a36915c2f97d73b9 /drivers/pci/msi.c | |
parent | fd58e55fcf5568e51da2ed54d7acd049c3fdb184 (diff) |
[PATCH] PCI: per-platform IA64_{FIRST,LAST}_DEVICE_VECTOR definitions
Abstract IA64_FIRST_DEVICE_VECTOR/IA64_LAST_DEVICE_VECTOR since SN platforms
use a subset of the IA64 range. Implement this by making the above macros
global variables which the platform can override in it setup code.
Also add a reserve_irq_vector() routine used by SN to mark a vector's as
in-use when that weren't allocated through assign_irq_vector().
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/msi.c')
-rw-r--r-- | drivers/pci/msi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 55ff52df5fe7..f8105783da2f 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -35,7 +35,7 @@ static int nr_msix_devices; | |||
35 | 35 | ||
36 | #ifndef CONFIG_X86_IO_APIC | 36 | #ifndef CONFIG_X86_IO_APIC |
37 | int vector_irq[NR_VECTORS] = { [0 ... NR_VECTORS - 1] = -1}; | 37 | int vector_irq[NR_VECTORS] = { [0 ... NR_VECTORS - 1] = -1}; |
38 | u8 irq_vector[NR_IRQ_VECTORS] = { FIRST_DEVICE_VECTOR , 0 }; | 38 | u8 irq_vector[NR_IRQ_VECTORS]; |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | static struct msi_ops *msi_ops; | 41 | static struct msi_ops *msi_ops; |
@@ -383,6 +383,10 @@ static int msi_init(void) | |||
383 | return status; | 383 | return status; |
384 | } | 384 | } |
385 | 385 | ||
386 | #ifndef CONFIG_X86_IO_APIC | ||
387 | irq_vector[0] = FIRST_DEVICE_VECTOR; | ||
388 | #endif | ||
389 | |||
386 | if (last_alloc_vector < 0) { | 390 | if (last_alloc_vector < 0) { |
387 | pci_msi_enable = 0; | 391 | pci_msi_enable = 0; |
388 | printk(KERN_WARNING "PCI: No interrupt vectors available for MSI\n"); | 392 | printk(KERN_WARNING "PCI: No interrupt vectors available for MSI\n"); |