diff options
Diffstat (limited to 'arch/sparc/kernel/nmi.c')
-rw-r--r-- | arch/sparc/kernel/nmi.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index eb1c1f010a47..6479256fd5a4 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include <asm/perf_event.h> | 22 | #include <asm/perf_event.h> |
23 | #include <asm/ptrace.h> | 23 | #include <asm/ptrace.h> |
24 | #include <asm/pcr.h> | 24 | #include <asm/pcr.h> |
25 | #include <asm/perfctr.h> | ||
26 | 25 | ||
27 | #include "kstack.h" | 26 | #include "kstack.h" |
28 | 27 | ||
@@ -109,7 +108,7 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
109 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) | 108 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) |
110 | touched = 1; | 109 | touched = 1; |
111 | else | 110 | else |
112 | pcr_ops->write(PCR_PIC_PRIV); | 111 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_disable); |
113 | 112 | ||
114 | sum = local_cpu_data().irq0_irqs; | 113 | sum = local_cpu_data().irq0_irqs; |
115 | if (__get_cpu_var(nmi_touch)) { | 114 | if (__get_cpu_var(nmi_touch)) { |
@@ -126,8 +125,8 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
126 | __this_cpu_write(alert_counter, 0); | 125 | __this_cpu_write(alert_counter, 0); |
127 | } | 126 | } |
128 | if (__get_cpu_var(wd_enabled)) { | 127 | if (__get_cpu_var(wd_enabled)) { |
129 | write_pic(picl_value(nmi_hz)); | 128 | pcr_ops->write_pic(0, pcr_ops->nmi_picl_value(nmi_hz)); |
130 | pcr_ops->write(pcr_enable); | 129 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_enable); |
131 | } | 130 | } |
132 | 131 | ||
133 | restore_hardirq_stack(orig_sp); | 132 | restore_hardirq_stack(orig_sp); |
@@ -166,7 +165,7 @@ static void report_broken_nmi(int cpu, int *prev_nmi_count) | |||
166 | 165 | ||
167 | void stop_nmi_watchdog(void *unused) | 166 | void stop_nmi_watchdog(void *unused) |
168 | { | 167 | { |
169 | pcr_ops->write(PCR_PIC_PRIV); | 168 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_disable); |
170 | __get_cpu_var(wd_enabled) = 0; | 169 | __get_cpu_var(wd_enabled) = 0; |
171 | atomic_dec(&nmi_active); | 170 | atomic_dec(&nmi_active); |
172 | } | 171 | } |
@@ -223,10 +222,10 @@ void start_nmi_watchdog(void *unused) | |||
223 | __get_cpu_var(wd_enabled) = 1; | 222 | __get_cpu_var(wd_enabled) = 1; |
224 | atomic_inc(&nmi_active); | 223 | atomic_inc(&nmi_active); |
225 | 224 | ||
226 | pcr_ops->write(PCR_PIC_PRIV); | 225 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_disable); |
227 | write_pic(picl_value(nmi_hz)); | 226 | pcr_ops->write_pic(0, pcr_ops->nmi_picl_value(nmi_hz)); |
228 | 227 | ||
229 | pcr_ops->write(pcr_enable); | 228 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_enable); |
230 | } | 229 | } |
231 | 230 | ||
232 | static void nmi_adjust_hz_one(void *unused) | 231 | static void nmi_adjust_hz_one(void *unused) |
@@ -234,10 +233,10 @@ static void nmi_adjust_hz_one(void *unused) | |||
234 | if (!__get_cpu_var(wd_enabled)) | 233 | if (!__get_cpu_var(wd_enabled)) |
235 | return; | 234 | return; |
236 | 235 | ||
237 | pcr_ops->write(PCR_PIC_PRIV); | 236 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_disable); |
238 | write_pic(picl_value(nmi_hz)); | 237 | pcr_ops->write_pic(0, pcr_ops->nmi_picl_value(nmi_hz)); |
239 | 238 | ||
240 | pcr_ops->write(pcr_enable); | 239 | pcr_ops->write_pcr(0, pcr_ops->pcr_nmi_enable); |
241 | } | 240 | } |
242 | 241 | ||
243 | void nmi_adjust_hz(unsigned int new_hz) | 242 | void nmi_adjust_hz(unsigned int new_hz) |