diff options
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 92a542653956..9908ef45a6b2 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -1427,6 +1427,17 @@ static int __init force_acpi_ht(const struct dmi_system_id *d) | |||
1427 | } | 1427 | } |
1428 | 1428 | ||
1429 | /* | 1429 | /* |
1430 | * Don't register any I/O APIC entries for the 8254 timer IRQ. | ||
1431 | */ | ||
1432 | static int __init | ||
1433 | dmi_disable_irq0_through_ioapic(const struct dmi_system_id *d) | ||
1434 | { | ||
1435 | pr_notice("%s detected: disabling IRQ 0 through I/O APIC\n", d->ident); | ||
1436 | disable_irq0_through_ioapic = 1; | ||
1437 | return 0; | ||
1438 | } | ||
1439 | |||
1440 | /* | ||
1430 | * If your system is blacklisted here, but you find that acpi=force | 1441 | * If your system is blacklisted here, but you find that acpi=force |
1431 | * works for you, please contact acpi-devel@sourceforge.net | 1442 | * works for you, please contact acpi-devel@sourceforge.net |
1432 | */ | 1443 | */ |
@@ -1593,6 +1604,32 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
1593 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"), | 1604 | DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"), |
1594 | }, | 1605 | }, |
1595 | }, | 1606 | }, |
1607 | /* | ||
1608 | * HP laptops which use a DSDT reporting as HP/SB400/10000, | ||
1609 | * which includes some code which overrides all temperature | ||
1610 | * trip points to 16C if the INTIN2 input of the I/O APIC | ||
1611 | * is enabled. This input is incorrectly designated the | ||
1612 | * ISA IRQ 0 via an interrupt source override even though | ||
1613 | * it is wired to the output of the master 8259A and INTIN0 | ||
1614 | * is not connected at all. Abandon any attempts to route | ||
1615 | * IRQ 0 through the I/O APIC therefore. | ||
1616 | */ | ||
1617 | { | ||
1618 | .callback = dmi_disable_irq0_through_ioapic, | ||
1619 | .ident = "HP NX6125 laptop", | ||
1620 | .matches = { | ||
1621 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
1622 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6125"), | ||
1623 | }, | ||
1624 | }, | ||
1625 | { | ||
1626 | .callback = dmi_disable_irq0_through_ioapic, | ||
1627 | .ident = "HP NX6325 laptop", | ||
1628 | .matches = { | ||
1629 | DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), | ||
1630 | DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq nx6325"), | ||
1631 | }, | ||
1632 | }, | ||
1596 | {} | 1633 | {} |
1597 | }; | 1634 | }; |
1598 | 1635 | ||