Commit bfb53ccf authored by Len Brown's avatar Len Brown

intel_idle: disable Atom/Lincroft HW C-state auto-demotion

Just as we had to disable auto-demotion for NHM/WSM,
we need to do the same for Atom (Lincroft version).

In particular, auto-demotion will prevent Lincroft
from entering the S0i3 idle power saving state.

https://bugzilla.kernel.org/show_bug.cgi?id=25252Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 14796fca
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#define MSR_NHM_SNB_PKG_CST_CFG_CTL 0x000000e2 #define MSR_NHM_SNB_PKG_CST_CFG_CTL 0x000000e2
#define NHM_C3_AUTO_DEMOTE (1UL << 25) #define NHM_C3_AUTO_DEMOTE (1UL << 25)
#define NHM_C1_AUTO_DEMOTE (1UL << 26) #define NHM_C1_AUTO_DEMOTE (1UL << 26)
#define ATM_LNC_C6_AUTO_DEMOTE (1UL << 25)
#define MSR_MTRRcap 0x000000fe #define MSR_MTRRcap 0x000000fe
#define MSR_IA32_BBL_CR_CTL 0x00000119 #define MSR_IA32_BBL_CR_CTL 0x00000119
......
...@@ -345,8 +345,12 @@ static int intel_idle_probe(void) ...@@ -345,8 +345,12 @@ static int intel_idle_probe(void)
break; break;
case 0x1C: /* 28 - Atom Processor */ case 0x1C: /* 28 - Atom Processor */
cpuidle_state_table = atom_cstates;
break;
case 0x26: /* 38 - Lincroft Atom Processor */ case 0x26: /* 38 - Lincroft Atom Processor */
cpuidle_state_table = atom_cstates; cpuidle_state_table = atom_cstates;
auto_demotion_disable_flags = ATM_LNC_C6_AUTO_DEMOTE;
break; break;
case 0x2A: /* SNB */ case 0x2A: /* SNB */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment