diff options
author | Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> | 2009-06-15 17:24:40 +0900 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-06-16 16:56:08 -0700 |
commit | e8ce2c5ee826b3787202493effcd08d4b1e1e639 (patch) | |
tree | 45dfcd93086820963d196d88851d772d11b2f8e9 /arch/x86/kernel/cpu/mcheck/p4.c | |
parent | 5335612a574a45beab14193ec641ed2f45e7a523 (diff) | |
download | kernel_samsung_tuna-e8ce2c5ee826b3787202493effcd08d4b1e1e639.zip kernel_samsung_tuna-e8ce2c5ee826b3787202493effcd08d4b1e1e639.tar.gz kernel_samsung_tuna-e8ce2c5ee826b3787202493effcd08d4b1e1e639.tar.bz2 |
x86, mce: unify smp_thermal_interrupt, prepare
Let them in same shape.
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/cpu/mcheck/p4.c')
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/p4.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/p4.c b/arch/x86/kernel/cpu/mcheck/p4.c index ddeed6e..75313f5 100644 --- a/arch/x86/kernel/cpu/mcheck/p4.c +++ b/arch/x86/kernel/cpu/mcheck/p4.c @@ -12,6 +12,7 @@ #include <asm/processor.h> #include <asm/system.h> #include <asm/apic.h> +#include <asm/idle.h> #include <asm/mce.h> #include <asm/msr.h> @@ -47,10 +48,9 @@ static void intel_thermal_interrupt(void) { __u64 msr_val; - ack_APIC_irq(); - rdmsrl(MSR_IA32_THERM_STATUS, msr_val); - therm_throt_process(msr_val & THERM_STATUS_PROCHOT); + if (therm_throt_process(msr_val & THERM_STATUS_PROCHOT)) + mce_log_therm_throt_event(msr_val); } /* Thermal interrupt handler for this CPU setup: */ @@ -58,10 +58,12 @@ static void (*vendor_thermal_interrupt)(void) = unexpected_thermal_interrupt; void smp_thermal_interrupt(struct pt_regs *regs) { + exit_idle(); irq_enter(); - vendor_thermal_interrupt(); inc_irq_stat(irq_thermal_count); + vendor_thermal_interrupt(); irq_exit(); + ack_APIC_irq(); } void intel_set_thermal_handler(void) |