diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-03-23 11:08:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-23 13:21:02 -0400 |
commit | e585bef815c0315f2730d7bb4e15b82602454efd (patch) | |
tree | 914d777ba187e656a89075398f81e485885f0aab /drivers/acpi/processor_idle.c | |
parent | 296d93cd0205433489b0689533426ce0a8cf2dec (diff) |
[PATCH] i386: add command line option "local_apic_timer_c2_ok"
It turned out that it is almost impossible to trust ACPI, BIOS & Co.
regarding the C states. This was the reason to switch the local apic
timer off in C2 state already. OTOH there are sane and well behaving
systems, which get punished by that decision.
Allow the user to confirm that the local apic timer is trustworthy in C2
state. This keeps the default behaviour on the safe side.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r-- | drivers/acpi/processor_idle.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 60773005b8a..cdf78943af4 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -268,6 +268,7 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr, | |||
268 | struct acpi_processor_cx *cx) | 268 | struct acpi_processor_cx *cx) |
269 | { | 269 | { |
270 | struct acpi_processor_power *pwr = &pr->power; | 270 | struct acpi_processor_power *pwr = &pr->power; |
271 | u8 type = local_apic_timer_c2_ok ? ACPI_STATE_C3 : ACPI_STATE_C2; | ||
271 | 272 | ||
272 | /* | 273 | /* |
273 | * Check, if one of the previous states already marked the lapic | 274 | * Check, if one of the previous states already marked the lapic |
@@ -276,7 +277,7 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr, | |||
276 | if (pwr->timer_broadcast_on_state < state) | 277 | if (pwr->timer_broadcast_on_state < state) |
277 | return; | 278 | return; |
278 | 279 | ||
279 | if (cx->type >= ACPI_STATE_C2) | 280 | if (cx->type >= type) |
280 | pr->power.timer_broadcast_on_state = state; | 281 | pr->power.timer_broadcast_on_state = state; |
281 | } | 282 | } |
282 | 283 | ||