aboutsummaryrefslogtreecommitdiffstats
path: root/tools/power/cpupower/utils/helpers/cpuid.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/power/cpupower/utils/helpers/cpuid.c')
-rw-r--r--tools/power/cpupower/utils/helpers/cpuid.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/tools/power/cpupower/utils/helpers/cpuid.c b/tools/power/cpupower/utils/helpers/cpuid.c
index 944b2c1659d8..a97f091fcf2b 100644
--- a/tools/power/cpupower/utils/helpers/cpuid.c
+++ b/tools/power/cpupower/utils/helpers/cpuid.c
@@ -130,10 +130,37 @@ out:
130 cpu_info->caps |= CPUPOWER_CAP_AMD_CBP; 130 cpu_info->caps |= CPUPOWER_CAP_AMD_CBP;
131 } 131 }
132 132
133 /* Intel's perf-bias MSR support */
134 if (cpu_info->vendor == X86_VENDOR_INTEL) { 133 if (cpu_info->vendor == X86_VENDOR_INTEL) {
134 /* Intel's perf-bias MSR support */
135 if (cpuid_level >= 6 && (cpuid_ecx(6) & (1 << 3))) 135 if (cpuid_level >= 6 && (cpuid_ecx(6) & (1 << 3)))
136 cpu_info->caps |= CPUPOWER_CAP_PERF_BIAS; 136 cpu_info->caps |= CPUPOWER_CAP_PERF_BIAS;
137
138 /* Intel's Turbo Ratio Limit support */
139 if (cpu_info->family == 6) {
140 switch (cpu_info->model) {
141 case 0x1A: /* Core i7, Xeon 5500 series
142 * Bloomfield, Gainstown NHM-EP
143 */
144 case 0x1E: /* Core i7 and i5 Processor
145 * Clarksfield, Lynnfield, Jasper Forest
146 */
147 case 0x1F: /* Core i7 and i5 Processor - Nehalem */
148 case 0x25: /* Westmere Client
149 * Clarkdale, Arrandale
150 */
151 case 0x2C: /* Westmere EP - Gulftown */
152 cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
153 case 0x2A: /* SNB */
154 case 0x2D: /* SNB Xeon */
155 cpu_info->caps |= CPUPOWER_CAP_HAS_TURBO_RATIO;
156 cpu_info->caps |= CPUPOWER_CAP_IS_SNB;
157 break;
158 case 0x2E: /* Nehalem-EX Xeon - Beckton */
159 case 0x2F: /* Westmere-EX Xeon - Eagleton */
160 default:
161 break;
162 }
163 }
137 } 164 }
138 165
139 /* printf("ID: %u - Extid: 0x%x - Caps: 0x%llx\n", 166 /* printf("ID: %u - Extid: 0x%x - Caps: 0x%llx\n",