-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ACPI: Set max_cstate to 1 for early Opterons.
AMD Opteron processors before CG revision don't like C-states > 1. This solves the long standing bugzilla #5303 and probably some more on affected machines: http://bugzilla.kernel.org/show_bug.cgi?id=5303 [ tglx@linutronix.de: reworked the patch so it does not wreck ia64 ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
- Loading branch information
Alexey Starikovskiy
authored and
Ingo Molnar
committed
Nov 26, 2007
1 parent
d4d25de
commit c1c3063
Showing
3 changed files
with
29 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,32 @@ | ||
#ifndef _ASM_X86_ACPI_H | ||
#define _ASM_X86_ACPI_H | ||
|
||
#ifdef CONFIG_X86_32 | ||
# include "acpi_32.h" | ||
#else | ||
# include "acpi_64.h" | ||
#endif | ||
|
||
#include <asm/processor.h> | ||
|
||
/* | ||
* Check if the CPU can handle C2 and deeper | ||
*/ | ||
static inline unsigned int acpi_processor_cstate_check(unsigned int max_cstate) | ||
{ | ||
/* | ||
* Early models (<=5) of AMD Opterons are not supposed to go into | ||
* C2 state. | ||
* | ||
* Steppings 0x0A and later are good | ||
*/ | ||
if (boot_cpu_data.x86 == 0x0F && | ||
boot_cpu_data.x86_vendor == X86_VENDOR_AMD && | ||
boot_cpu_data.x86_model <= 0x05 && | ||
boot_cpu_data.x86_mask < 0x0A) | ||
return 1; | ||
else | ||
return max_cstate; | ||
} | ||
|
||
#endif |