Bug 3551

Summary: disable ACPI timer override on Nvidia i386
Product: ACPI Reporter: Andi Kleen (andi-bz)
Component: Config-InterruptsAssignee: Len Brown (lenb)
Status: CLOSED CODE_FIX    
Severity: high CC: acpi-bugzilla
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.9rc3 Subsystem:
Regression: --- Bisected commit-id:
Attachments: Disable timer override on Nvidia
New version of nvidia timer override workaround
cleanup patch to add to previous

Description Andi Kleen 2004-10-11 06:13:27 UTC
After some discussion with Nvidia people it turns out all Timer Overrides
on Nvidia boards are wrong. They cause random failures with IO-APIC on.
According to Nvidia this should also be safe for future chipsets of theirs.

x86-64 already has a similar patch queued for 2.6.10pre. On i386 it is 
more critical however because x86-64 previously turned off the IO-APIC
on these boxes. On i386 it depends on the .config
Comment 1 Andi Kleen 2004-10-11 06:15:26 UTC
Created attachment 3806 [details]
Disable timer override on Nvidia


This patch adds an early pci scan that checks for this bridge and disables
the timer override for any nvidia board. Code ported from x86-64.

Some testing on a Nforce2 before submitting would be good.
Comment 2 Andi Kleen 2004-10-11 06:17:22 UTC
Created attachment 3807 [details]
New version of nvidia timer override workaround

Previous patch was missing two files.
Comment 3 Len Brown 2004-11-10 21:59:41 UTC
Patch looks good, but probably better w/o this line:

+               printk(KERN_INFO
+             "NForce bridge found, setting ACPI timer override\n");

because the BIOS may be correct and not supply an override,
in which case this workaround and this line are are NOP.

Plus, if we do find a bogus timer override, we already squawk about it:

        if (acpi_skip_timer_override &&
                intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
                        printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");

I'll apply this patch, sans prink, to the ACPI test tree.
Comment 4 Len Brown 2004-11-11 00:32:11 UTC
Created attachment 4010 [details]
cleanup patch to add to previous

additional patch to delete now obsolete dmi-scan entries
and also fix the build when ACPI & !IOAPIC
Comment 5 Len Brown 2004-12-05 19:45:11 UTC
shipped in 2.6.10-rc3 
closing.