]> Pileus Git - ~andy/linux/blobdiff - drivers/acpi/processor_idle.c
Merge branch 'linus' into perfcounters/core
[~andy/linux] / drivers / acpi / processor_idle.c
index f7ca8c55956bdce81732c4b0cfcf40bf82704fb6..d2830f39d46b430ea501609938dbc7b835dd083d 100644 (file)
@@ -763,8 +763,11 @@ static int acpi_idle_bm_check(void)
  */
 static inline void acpi_idle_do_entry(struct acpi_processor_cx *cx)
 {
+       u64 perf_flags;
+
        /* Don't trace irqs off for idle */
        stop_critical_timings();
+       perf_flags = hw_perf_save_disable();
        if (cx->entry_method == ACPI_CSTATE_FFH) {
                /* Call into architectural FFH based C-state */
                acpi_processor_ffh_cstate_enter(cx);
@@ -779,6 +782,7 @@ static inline void acpi_idle_do_entry(struct acpi_processor_cx *cx)
                   gets asserted in time to freeze execution properly. */
                unused = inl(acpi_gbl_FADT.xpm_timer_block.address);
        }
+       hw_perf_restore(perf_flags);
        start_critical_timings();
 }