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=25252 Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
14796fca2b
commit
bfb53ccf1c
|
@ -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)
|
||||||
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 */
|
||||||
|
|
Loading…
Reference in a new issue