summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-02-26 04:18:52 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-26 09:53:31 -0800
commitab9b32ee626e9b6df4ce2560a70ae15e62423cf4 (patch)
tree4bae7b0a38b9e69d33dc7b80ad434274019d9e38 /net
parente8b917775b572bc27de105f1317c2de4335db5b3 (diff)
downloadop-kernel-dev-ab9b32ee626e9b6df4ce2560a70ae15e62423cf4.zip
op-kernel-dev-ab9b32ee626e9b6df4ce2560a70ae15e62423cf4.tar.gz
[PATCH] x86_64: Better ATI timer fix
The previous experiment for using apicmaintimer on ATI systems didn't work out very well. In particular laptops with C2/C3 support often don't let it tick during idle, which makes it useless. There were also some other bugs that made the apicmaintimer often not used at all. I tried some other experiments - running timer over RTC and some other things but they didn't really work well neither. I rechecked the specs now and it turns out this simple change is actually enough to avoid the double ticks on the ATI systems. We just turn off IRQ 0 in the 8254 and only route it directly using the IO-APIC. I tested it on a few ATI systems and it worked there. In fact it worked on all chipsets (NVidia, Intel, AMD, ATI) I tried it on. According to the ACPI spec routing should always work through the IO-APIC so I think it's the correct thing to do anyways (and most of the old gunk in check_timer should be thrown away for x86-64). But for 2.6.16 it's best to do a fairly minimal change: - Use the known to be working everywhere-but-ATI IRQ0 both over 8254 and IO-APIC setup everywhere - Except on ATI disable IRQ0 in the 8254 - Remove the code to select apicmaintimer on ATI chipsets - Add some boot options to allow to override this (just paranoia) In 2.6.17 I hope to switch the default over to this for everybody. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud