|
Lines 228-240
static void (*smp_thermal_vector)(void)
Link Here
|
| 228 |
|
228 |
|
| 229 |
asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) |
229 |
asmlinkage void smp_thermal_interrupt(struct pt_regs *regs) |
| 230 |
{ |
230 |
{ |
|
|
231 |
/* Ack only at the start to avoid potential reentry */ |
| 232 |
ack_APIC_irq(); |
| 231 |
exit_idle(); |
233 |
exit_idle(); |
| 232 |
irq_enter(); |
234 |
irq_enter(); |
| 233 |
inc_irq_stat(irq_thermal_count); |
235 |
inc_irq_stat(irq_thermal_count); |
| 234 |
smp_thermal_vector(); |
236 |
smp_thermal_vector(); |
| 235 |
irq_exit(); |
237 |
irq_exit(); |
| 236 |
/* Ack only at the end to avoid potential reentry */ |
|
|
| 237 |
ack_APIC_irq(); |
| 238 |
} |
238 |
} |
| 239 |
|
239 |
|
| 240 |
void intel_init_thermal(struct cpuinfo_x86 *c) |
240 |
void intel_init_thermal(struct cpuinfo_x86 *c) |