aboutsummaryrefslogtreecommitdiffstats
path: root/tools/power/cpupower/utils/helpers/msr.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/power/cpupower/utils/helpers/msr.c')
-rw-r--r--tools/power/cpupower/utils/helpers/msr.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/power/cpupower/utils/helpers/msr.c b/tools/power/cpupower/utils/helpers/msr.c
index 93d48bd56e57..7869ca64dfd3 100644
--- a/tools/power/cpupower/utils/helpers/msr.c
+++ b/tools/power/cpupower/utils/helpers/msr.c
@@ -11,6 +11,7 @@
11#define MSR_IA32_PERF_STATUS 0x198 11#define MSR_IA32_PERF_STATUS 0x198
12#define MSR_IA32_MISC_ENABLES 0x1a0 12#define MSR_IA32_MISC_ENABLES 0x1a0
13#define MSR_IA32_ENERGY_PERF_BIAS 0x1b0 13#define MSR_IA32_ENERGY_PERF_BIAS 0x1b0
14#define MSR_NEHALEM_TURBO_RATIO_LIMIT 0x1ad
14 15
15/* 16/*
16 * read_msr 17 * read_msr
@@ -79,6 +80,7 @@ int msr_intel_has_boost_support(unsigned int cpu)
79 ret = read_msr(cpu, MSR_IA32_MISC_ENABLES, &misc_enables); 80 ret = read_msr(cpu, MSR_IA32_MISC_ENABLES, &misc_enables);
80 if (ret) 81 if (ret)
81 return ret; 82 return ret;
83
82 return (misc_enables >> 38) & 0x1; 84 return (misc_enables >> 38) & 0x1;
83} 85}
84 86
@@ -119,4 +121,18 @@ int msr_intel_set_perf_bias(unsigned int cpu, unsigned int val)
119 return ret; 121 return ret;
120 return 0; 122 return 0;
121} 123}
124
125unsigned long long msr_intel_get_turbo_ratio(unsigned int cpu)
126{
127 unsigned long long val;
128 int ret;
129
130 if (!(cpupower_cpu_info.caps & CPUPOWER_CAP_HAS_TURBO_RATIO))
131 return -1;
132
133 ret = read_msr(cpu, MSR_NEHALEM_TURBO_RATIO_LIMIT, &val);
134 if (ret)
135 return ret;
136 return val;
137}
122#endif 138#endif