diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2008-07-11 20:50:15 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-12 00:44:58 -0400 |
commit | da1f29f5dfcc8641f9ff6f3deaa9f03b57e63229 (patch) | |
tree | 11c21425a4b0822d6fab7faa4f9da7717fe31b15 | |
parent | 6c82a000a29b93541b5b7db597a083c069755cc9 (diff) |
x86: remove conflicting nx6325 and nx6125 quirks
We have two conflicting DMA-based quirks in there for the same set of
boxes (HP nx6325 and nx6125) and one of them actually breaks my box.
So remove the extra code.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: =?iso-8859-1?q?T=F6r=F6k_Edwin?= <edwintorok@gmail.com>
Cc: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 9c981c4a3644..785700a08e9d 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -84,8 +84,6 @@ int acpi_lapic; | |||
84 | int acpi_ioapic; | 84 | int acpi_ioapic; |
85 | int acpi_strict; | 85 | int acpi_strict; |
86 | 86 | ||
87 | static int disable_irq0_through_ioapic __initdata; | ||
88 | |||
89 | u8 acpi_sci_flags __initdata; | 87 | u8 acpi_sci_flags __initdata; |
90 | int acpi_sci_override_gsi __initdata; | 88 | int acpi_sci_override_gsi __initdata; |
91 | int acpi_skip_timer_override __initdata; | 89 | int acpi_skip_timer_override __initdata; |
@@ -982,10 +980,6 @@ void __init mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, u32 gsi) | |||
982 | int pin; | 980 | int pin; |
983 | struct mp_config_intsrc mp_irq; | 981 | struct mp_config_intsrc mp_irq; |
984 | 982 | ||
985 | /* Skip the 8254 timer interrupt (IRQ 0) if requested. */ | ||
986 | if (bus_irq == 0 && disable_irq0_through_ioapic) | ||
987 | return; | ||
988 | |||
989 | /* | 983 | /* |
990 | * Convert 'gsi' to 'ioapic.pin'. | 984 | * Convert 'gsi' to 'ioapic.pin'. |
991 | */ | 985 | */ |
@@ -1052,10 +1046,6 @@ void __init mp_config_acpi_legacy_irqs(void) | |||
1052 | for (i = 0; i < 16; i++) { | 1046 | for (i = 0; i < 16; i++) { |
1053 | int idx; | 1047 | int idx; |
1054 | 1048 | ||
1055 | /* Skip the 8254 timer interrupt (IRQ 0) if requested. */ | ||
1056 | if (i == 0 && disable_irq0_through_ioapic) | ||
1057 | continue; | ||
1058 | |||
1059 | for (idx = 0; idx < mp_irq_entries; idx++) { | 1049 | for (idx = 0; idx < mp_irq_entries; idx++) { |
1060 | struct mp_config_intsrc *irq = mp_irqs + idx; | 1050 | struct mp_config_intsrc *irq = mp_irqs + idx; |
1061 | 1051 | ||
@@ -1413,17 +1403,6 @@ static int __init force_acpi_ht(const struct dmi_system_id *d) | |||
1413 | } | 1403 | } |
1414 | 1404 | ||
1415 | /* | 1405 | /* |
1416 | * Don't register any I/O APIC entries for the 8254 timer IRQ. | ||
1417 | */ | ||
1418 | static int __init | ||
1419 | dmi_disable_irq0_through_ioapic(const struct dmi_system_id *d) | ||
1420 | { | ||
1421 | pr_notice("%s detected: disabling IRQ 0 through I/O APIC\n", d->ident); | ||
1422 | disable_irq0_through_ioapic = 1; | ||
1423 | return 0; | ||
1424 | } | ||
1425 | |||
1426 | /* | ||
1427 | * Force ignoring BIOS IRQ0 pin2 override | 1406 | * Force ignoring BIOS IRQ0 pin2 override |
1428 | */ | 1407 | */ |
1429 | static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) | 1408 | static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) |
@@ -1608,32 +1587,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
1608 | * is enabled. This input is incorrectly designated the | 1587 | * is enabled. This input is incorrectly designated the |
1609 | * ISA IRQ 0 via an interrupt source override even though | 1588 | * ISA IRQ 0 via an interrupt source override even though |
1610 | * it is wired to the output of the master 8259A and INTIN0 | 1589 | * it is wired to the output of the master 8259A and INTIN0 |
1611 | * is not connected at all. Abandon any attempts to route | ||
1612 | * IRQ 0 through the I/O APIC therefore. | ||
1613 | */ | ||
1614 | { | ||
1615 | .callback = dmi_disable_irq0_through_ioapic, | ||
1616 | .ident = "HP NX6125 laptop", | ||
1617 | .matches = { | ||
1618 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
1619 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6125"), | ||
1620 | }, | ||
1621 | }, | ||
1622 | { | ||
1623 | .callback = dmi_disable_irq0_through_ioapic, | ||
1624 | .ident = "HP NX6325 laptop", | ||
1625 | .matches = { | ||
1626 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
1627 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"), | ||
1628 | }, | ||
1629 | }, | ||
1630 | /* | ||
1631 | * HP laptops which use a DSDT reporting as HP/SB400/10000, | ||
1632 | * which includes some code which overrides all temperature | ||
1633 | * trip points to 16C if the INTIN2 input of the I/O APIC | ||
1634 | * is enabled. This input is incorrectly designated the | ||
1635 | * ISA IRQ 0 via an interrupt source override even though | ||
1636 | * it is wired to the output of the master 8259A and INTIN0 | ||
1637 | * is not connected at all. Force ignoring BIOS IRQ0 pin2 | 1590 | * is not connected at all. Force ignoring BIOS IRQ0 pin2 |
1638 | * override in that cases. | 1591 | * override in that cases. |
1639 | */ | 1592 | */ |