diff options
Diffstat (limited to 'drivers/idle/intel_idle.c')
-rw-r--r-- | drivers/idle/intel_idle.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c index 41665d2f9f93..56ac09d6c930 100644 --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c | |||
@@ -220,9 +220,8 @@ static int intel_idle(struct cpuidle_device *dev, struct cpuidle_state *state) | |||
220 | kt_before = ktime_get_real(); | 220 | kt_before = ktime_get_real(); |
221 | 221 | ||
222 | stop_critical_timings(); | 222 | stop_critical_timings(); |
223 | #ifndef MODULE | ||
224 | trace_power_start(POWER_CSTATE, (eax >> 4) + 1, cpu); | 223 | trace_power_start(POWER_CSTATE, (eax >> 4) + 1, cpu); |
225 | #endif | 224 | trace_cpu_idle((eax >> 4) + 1, cpu); |
226 | if (!need_resched()) { | 225 | if (!need_resched()) { |
227 | 226 | ||
228 | __monitor((void *)¤t_thread_info()->flags, 0, 0); | 227 | __monitor((void *)¤t_thread_info()->flags, 0, 0); |
@@ -273,8 +272,6 @@ static int intel_idle_probe(void) | |||
273 | 272 | ||
274 | pr_debug(PREFIX "MWAIT substates: 0x%x\n", mwait_substates); | 273 | pr_debug(PREFIX "MWAIT substates: 0x%x\n", mwait_substates); |
275 | 274 | ||
276 | if (boot_cpu_has(X86_FEATURE_ARAT)) /* Always Reliable APIC Timer */ | ||
277 | lapic_timer_reliable_states = 0xFFFFFFFF; | ||
278 | 275 | ||
279 | if (boot_cpu_data.x86 != 6) /* family 6 */ | 276 | if (boot_cpu_data.x86 != 6) /* family 6 */ |
280 | return -ENODEV; | 277 | return -ENODEV; |
@@ -286,8 +283,6 @@ static int intel_idle_probe(void) | |||
286 | case 0x1F: /* Core i7 and i5 Processor - Nehalem */ | 283 | case 0x1F: /* Core i7 and i5 Processor - Nehalem */ |
287 | case 0x2E: /* Nehalem-EX Xeon */ | 284 | case 0x2E: /* Nehalem-EX Xeon */ |
288 | case 0x2F: /* Westmere-EX Xeon */ | 285 | case 0x2F: /* Westmere-EX Xeon */ |
289 | lapic_timer_reliable_states = (1 << 1); /* C1 */ | ||
290 | |||
291 | case 0x25: /* Westmere */ | 286 | case 0x25: /* Westmere */ |
292 | case 0x2C: /* Westmere */ | 287 | case 0x2C: /* Westmere */ |
293 | cpuidle_state_table = nehalem_cstates; | 288 | cpuidle_state_table = nehalem_cstates; |
@@ -295,7 +290,6 @@ static int intel_idle_probe(void) | |||
295 | 290 | ||
296 | case 0x1C: /* 28 - Atom Processor */ | 291 | case 0x1C: /* 28 - Atom Processor */ |
297 | case 0x26: /* 38 - Lincroft Atom Processor */ | 292 | case 0x26: /* 38 - Lincroft Atom Processor */ |
298 | lapic_timer_reliable_states = (1 << 1); /* C1 */ | ||
299 | cpuidle_state_table = atom_cstates; | 293 | cpuidle_state_table = atom_cstates; |
300 | break; | 294 | break; |
301 | 295 | ||
@@ -303,10 +297,6 @@ static int intel_idle_probe(void) | |||
303 | case 0x2D: /* SNB Xeon */ | 297 | case 0x2D: /* SNB Xeon */ |
304 | cpuidle_state_table = snb_cstates; | 298 | cpuidle_state_table = snb_cstates; |
305 | break; | 299 | break; |
306 | #ifdef FUTURE_USE | ||
307 | case 0x17: /* 23 - Core 2 Duo */ | ||
308 | lapic_timer_reliable_states = (1 << 2) | (1 << 1); /* C2, C1 */ | ||
309 | #endif | ||
310 | 300 | ||
311 | default: | 301 | default: |
312 | pr_debug(PREFIX "does not run on family %d model %d\n", | 302 | pr_debug(PREFIX "does not run on family %d model %d\n", |
@@ -314,6 +304,9 @@ static int intel_idle_probe(void) | |||
314 | return -ENODEV; | 304 | return -ENODEV; |
315 | } | 305 | } |
316 | 306 | ||
307 | if (boot_cpu_has(X86_FEATURE_ARAT)) /* Always Reliable APIC Timer */ | ||
308 | lapic_timer_reliable_states = 0xFFFFFFFF; | ||
309 | |||
317 | pr_debug(PREFIX "v" INTEL_IDLE_VERSION | 310 | pr_debug(PREFIX "v" INTEL_IDLE_VERSION |
318 | " model 0x%X\n", boot_cpu_data.x86_model); | 311 | " model 0x%X\n", boot_cpu_data.x86_model); |
319 | 312 | ||