Commit 1619cca2 authored by Linus Torvalds's avatar Linus Torvalds

Partially revert "Fix time going twice as fast problem on ATI Xpress chipsets"

Commit 66759a01 introduced the fix for
time ticking too fast on some boards by disabling one of the doubly
connected timer pins on ATI boards.

However, it ends up being _much_ too broad a brush, and that just makes
some other ATI boards not work at all since they now have no timer
source.

So disable the automatic ATI southbridge detection, and just rely on
people who see this problem disabling it by hand with the option
"disable_timer_pin_1" on the kernel command line.

Maybe somebody can figure out the proper tests at a later date.
Acked-by: default avatarPeter Osterlund <petero2@telia.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 38400e42
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <asm/pci-direct.h> #include <asm/pci-direct.h>
#include <asm/acpi.h> #include <asm/acpi.h>
#include <asm/apic.h>
static int __init check_bridge(int vendor, int device) static int __init check_bridge(int vendor, int device)
{ {
...@@ -16,15 +15,6 @@ static int __init check_bridge(int vendor, int device) ...@@ -16,15 +15,6 @@ static int __init check_bridge(int vendor, int device)
if (vendor == PCI_VENDOR_ID_NVIDIA) { if (vendor == PCI_VENDOR_ID_NVIDIA) {
acpi_skip_timer_override = 1; acpi_skip_timer_override = 1;
} }
#ifdef CONFIG_X86_LOCAL_APIC
/*
* ATI IXP chipsets get double timer interrupts.
* For now just do this for all ATI chipsets.
* FIXME: this needs to be checked for the non ACPI case too.
*/
if (vendor == PCI_VENDOR_ID_ATI)
disable_timer_pin_1 = 1;
#endif
return 0; return 0;
} }
......
...@@ -299,15 +299,6 @@ void __init check_ioapic(void) ...@@ -299,15 +299,6 @@ void __init check_ioapic(void)
#endif #endif
/* RED-PEN skip them on mptables too? */ /* RED-PEN skip them on mptables too? */
return; return;
case PCI_VENDOR_ID_ATI:
/* All timer interrupts on atiixp
are doubled. Disable one. */
if (disable_timer_pin_1 == 0) {
disable_timer_pin_1 = 1;
printk(KERN_INFO
"ATI board detected. Disabling timer pin 1.\n");
}
return;
} }
/* No multi-function device? */ /* No multi-function device? */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment