提交 7734e3ac 编写于 作者: Y Yuxuan Shui 提交者: Zhang Rui

intel_powerclamp: Fix cstate counter detection.

Having all zero cstate count doesn't necesserily mean the cstate
counter is no functional.
Signed-off-by: NYuxuan Shui <yshuiv7@gmail.com>
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
上级 a116776f
......@@ -206,6 +206,15 @@ static void find_target_mwait(void)
}
static bool has_pkg_state_counter(void)
{
u64 tmp;
return !rdmsrl_safe(MSR_PKG_C2_RESIDENCY, &tmp) ||
!rdmsrl_safe(MSR_PKG_C3_RESIDENCY, &tmp) ||
!rdmsrl_safe(MSR_PKG_C6_RESIDENCY, &tmp) ||
!rdmsrl_safe(MSR_PKG_C7_RESIDENCY, &tmp);
}
static u64 pkg_state_counter(void)
{
u64 val;
......@@ -500,7 +509,7 @@ static int start_power_clamp(void)
struct task_struct *thread;
/* check if pkg cstate counter is completely 0, abort in this case */
if (!pkg_state_counter()) {
if (!has_pkg_state_counter()) {
pr_err("pkg cstate counter not functional, abort\n");
return -EINVAL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册