diff options
author | Len Brown <len.brown@intel.com> | 2009-01-09 09:37:48 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-01-09 09:37:48 +0100 |
commit | d0302bc62af7983040ea1cd1b5dd2b36e1a6a509 (patch) | |
tree | ef45618ae057e21fff7c82190939fe5f4466cf06 /arch/x86/kernel/acpi/cstate.c | |
parent | Merge branch 'fujitsu-laptop' into release (diff) | |
parent | ACPI : Use RSDT instead of XSDT by adding boot option of "acpi=rsdt" (diff) | |
download | linux-d0302bc62af7983040ea1cd1b5dd2b36e1a6a509.tar.xz linux-d0302bc62af7983040ea1cd1b5dd2b36e1a6a509.zip |
Merge branch 'misc' into release
Conflicts:
include/acpi/acpixf.h
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/x86/kernel/acpi/cstate.c')
-rw-r--r-- | arch/x86/kernel/acpi/cstate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/cstate.c b/arch/x86/kernel/acpi/cstate.c index c2502eb9aa83..a4805b3b4095 100644 --- a/arch/x86/kernel/acpi/cstate.c +++ b/arch/x86/kernel/acpi/cstate.c @@ -56,6 +56,7 @@ static struct cstate_entry *cpu_cstate_entry; /* per CPU ptr */ static short mwait_supported[ACPI_PROCESSOR_MAX_POWER]; #define MWAIT_SUBSTATE_MASK (0xf) +#define MWAIT_CSTATE_MASK (0xf) #define MWAIT_SUBSTATE_SIZE (4) #define CPUID_MWAIT_LEAF (5) @@ -98,7 +99,8 @@ int acpi_processor_ffh_cstate_probe(unsigned int cpu, cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx); /* Check whether this particular cx_type (in CST) is supported or not */ - cstate_type = (cx->address >> MWAIT_SUBSTATE_SIZE) + 1; + cstate_type = ((cx->address >> MWAIT_SUBSTATE_SIZE) & + MWAIT_CSTATE_MASK) + 1; edx_part = edx >> (cstate_type * MWAIT_SUBSTATE_SIZE); num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK; |