Skip to contentSkip to conversation

Patch "intel_pstate: Fix MSR_CONFIG_TDP_x addressing in core_get_max_pstate()" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Aug 18, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

intel_pstate: Fix MSR_CONFIG_TDP_x addressing in core_get_max_pstate()

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
intel_pstate-fix-msr_config_tdp_x-addressing-in-core_get_max_pstate.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 5fc8f707a2aa40c767c3a338738b9b6fcd151ac1 Mon Sep 17 00:00:00 2001

From: Jan Kiszka <[email protected]>
Date: Fri, 8 Jul 2016 20:42:04 +0200
Subject: intel_pstate: Fix MSR_CONFIG_TDP_x addressing in core_get_max_pstate()

From: Jan Kiszka <[email protected]>

commit 5fc8f707a2aa40c767c3a338738b9b6fcd151ac1 upstream.

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.

---
 drivers/cpufreq/intel_pstate.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/cpufreq/intel_pstate.c +1 -1
@@ -662,7 +662,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;

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/intel_pstate-fix-msr_config_tdp_x-addressing-in-core_get_max_pstate.patch