aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/acpi
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-01-09 03:37:48 -0500
committerLen Brown <len.brown@intel.com>2009-01-09 03:37:48 -0500
commitd0302bc62af7983040ea1cd1b5dd2b36e1a6a509 (patch)
treeef45618ae057e21fff7c82190939fe5f4466cf06 /arch/x86/kernel/acpi
parent106ad8d6b0a7c1a597fab56ec692c39f553fabbc (diff)
parent237889bf0a62f1399fb2ba0c2a259e6a96597131 (diff)
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')
-rw-r--r--arch/x86/kernel/acpi/boot.c6
-rw-r--r--arch/x86/kernel/acpi/cstate.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index de8ce79dd881..39ae3d0e3a4a 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -47,7 +47,7 @@
47#endif 47#endif
48 48
49static int __initdata acpi_force = 0; 49static int __initdata acpi_force = 0;
50 50u32 acpi_rsdt_forced;
51#ifdef CONFIG_ACPI 51#ifdef CONFIG_ACPI
52int acpi_disabled = 0; 52int acpi_disabled = 0;
53#else 53#else
@@ -1794,6 +1794,10 @@ static int __init parse_acpi(char *arg)
1794 disable_acpi(); 1794 disable_acpi();
1795 acpi_ht = 1; 1795 acpi_ht = 1;
1796 } 1796 }
1797 /* acpi=rsdt use RSDT instead of XSDT */
1798 else if (strcmp(arg, "rsdt") == 0) {
1799 acpi_rsdt_forced = 1;
1800 }
1797 /* "acpi=noirq" disables ACPI interrupt routing */ 1801 /* "acpi=noirq" disables ACPI interrupt routing */
1798 else if (strcmp(arg, "noirq") == 0) { 1802 else if (strcmp(arg, "noirq") == 0) {
1799 acpi_noirq_set(); 1803 acpi_noirq_set();
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 */
56static short mwait_supported[ACPI_PROCESSOR_MAX_POWER]; 56static short mwait_supported[ACPI_PROCESSOR_MAX_POWER];
57 57
58#define MWAIT_SUBSTATE_MASK (0xf) 58#define MWAIT_SUBSTATE_MASK (0xf)
59#define MWAIT_CSTATE_MASK (0xf)
59#define MWAIT_SUBSTATE_SIZE (4) 60#define MWAIT_SUBSTATE_SIZE (4)
60 61
61#define CPUID_MWAIT_LEAF (5) 62#define CPUID_MWAIT_LEAF (5)
@@ -98,7 +99,8 @@ int acpi_processor_ffh_cstate_probe(unsigned int cpu,
98 cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx); 99 cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
99 100
100 /* Check whether this particular cx_type (in CST) is supported or not */ 101 /* Check whether this particular cx_type (in CST) is supported or not */
101 cstate_type = (cx->address >> MWAIT_SUBSTATE_SIZE) + 1; 102 cstate_type = ((cx->address >> MWAIT_SUBSTATE_SIZE) &
103 MWAIT_CSTATE_MASK) + 1;
102 edx_part = edx >> (cstate_type * MWAIT_SUBSTATE_SIZE); 104 edx_part = edx >> (cstate_type * MWAIT_SUBSTATE_SIZE);
103 num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK; 105 num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK;
104 106