aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/pci
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2005-07-12 17:21:56 -0400
committerLen Brown <len.brown@intel.com>2005-07-12 17:21:56 -0400
commit5028770a42e7bc4d15791a44c28f0ad539323807 (patch)
tree74800e35129775413c13ce7caf036ca19e3ce56c /arch/i386/pci
parent9f02d6b7b43d46a74dd385f06090104ecd0fb807 (diff)
parentd8683a0cb5d09cb7f19feefa708424a84577e68f (diff)
[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/i386/pci')
-rw-r--r--arch/i386/pci/irq.c16
-rw-r--r--arch/i386/pci/visws.c2
2 files changed, 11 insertions, 7 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index 78ca1ecbb907..766b104ac1a1 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -1051,24 +1051,28 @@ static int __init pcibios_irq_init(void)
1051subsys_initcall(pcibios_irq_init); 1051subsys_initcall(pcibios_irq_init);
1052 1052
1053 1053
1054static void pirq_penalize_isa_irq(int irq) 1054static void pirq_penalize_isa_irq(int irq, int active)
1055{ 1055{
1056 /* 1056 /*
1057 * If any ISAPnP device reports an IRQ in its list of possible 1057 * If any ISAPnP device reports an IRQ in its list of possible
1058 * IRQ's, we try to avoid assigning it to PCI devices. 1058 * IRQ's, we try to avoid assigning it to PCI devices.
1059 */ 1059 */
1060 if (irq < 16) 1060 if (irq < 16) {
1061 pirq_penalty[irq] += 100; 1061 if (active)
1062 pirq_penalty[irq] += 1000;
1063 else
1064 pirq_penalty[irq] += 100;
1065 }
1062} 1066}
1063 1067
1064void pcibios_penalize_isa_irq(int irq) 1068void pcibios_penalize_isa_irq(int irq, int active)
1065{ 1069{
1066#ifdef CONFIG_ACPI_PCI 1070#ifdef CONFIG_ACPI_PCI
1067 if (!acpi_noirq) 1071 if (!acpi_noirq)
1068 acpi_penalize_isa_irq(irq); 1072 acpi_penalize_isa_irq(irq, active);
1069 else 1073 else
1070#endif 1074#endif
1071 pirq_penalize_isa_irq(irq); 1075 pirq_penalize_isa_irq(irq, active);
1072} 1076}
1073 1077
1074static int pirq_enable_irq(struct pci_dev *dev) 1078static int pirq_enable_irq(struct pci_dev *dev)
diff --git a/arch/i386/pci/visws.c b/arch/i386/pci/visws.c
index 6a9248784439..314c933b6b8e 100644
--- a/arch/i386/pci/visws.c
+++ b/arch/i386/pci/visws.c
@@ -21,7 +21,7 @@ static int pci_visws_enable_irq(struct pci_dev *dev) { return 0; }
21 21
22int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; 22int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq;
23 23
24void __init pcibios_penalize_isa_irq(int irq) {} 24void __init pcibios_penalize_isa_irq(int irq, int active) {}
25 25
26 26
27unsigned int pci_bus0, pci_bus1; 27unsigned int pci_bus0, pci_bus1;