On Fri, 2016-07-08 at 20:42 +0200, Jan Kiszka wrote: > If MSR_CONFIG_TDP_CONTROL is locked, we currently try to address some > MSR 0x80000648 or so. Mask out the relevant level bits 0 and 1. > > Found while running over the Jailhouse hypervisor which became upset > about this strange MSR index. > > Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Acked-by: Srinivas Pandruvada <srinivas.pandruv...@linux.intel.com>
> --- > drivers/cpufreq/intel_pstate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/intel_pstate.c > b/drivers/cpufreq/intel_pstate.c > index 1fa1a32..1b15917 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -944,7 +944,7 @@ static int core_get_max_pstate(void) > if (err) > goto skip_tar; > > - tdp_msr = MSR_CONFIG_TDP_NOMINAL + tdp_ctrl; > + tdp_msr = MSR_CONFIG_TDP_NOMINAL + (tdp_ctrl > & 0x3); > err = rdmsrl_safe(tdp_msr, &tdp_ratio); > if (err) > goto skip_tar;