Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@
#include <linux/pci.h>
#include <asm/pci-direct.h>
#include <asm/acpi.h>
#include <asm/apic.h>

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) {
		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;
}

+0 −9
Original line number Diff line number Diff line
@@ -299,15 +299,6 @@ void __init check_ioapic(void)
#endif
					/* RED-PEN skip them on mptables too? */
					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? */