aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/sun3/sun3ints.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c
index 20ffee7dc319..1273eb879a15 100644
--- a/arch/m68k/sun3/sun3ints.c
+++ b/arch/m68k/sun3/sun3ints.c
@@ -51,14 +51,19 @@ void sun3_disable_irq(unsigned int irq)
51 51
52static irqreturn_t sun3_int7(int irq, void *dev_id) 52static irqreturn_t sun3_int7(int irq, void *dev_id)
53{ 53{
54 unsigned int cnt;
55
54 *sun3_intreg |= (1 << irq); 56 *sun3_intreg |= (1 << irq);
55 if (!(kstat_cpu(0).irqs[irq] % 2000)) 57 cnt = kstat_irqs_cpu(irq, 0);
56 sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 16000) / 2000]); 58 if (!(cnt % 2000))
59 sun3_leds(led_pattern[cnt % 16000 / 2000]);
57 return IRQ_HANDLED; 60 return IRQ_HANDLED;
58} 61}
59 62
60static irqreturn_t sun3_int5(int irq, void *dev_id) 63static irqreturn_t sun3_int5(int irq, void *dev_id)
61{ 64{
65 unsigned int cnt;
66
62#ifdef CONFIG_SUN3 67#ifdef CONFIG_SUN3
63 intersil_clear(); 68 intersil_clear();
64#endif 69#endif
@@ -68,8 +73,9 @@ static irqreturn_t sun3_int5(int irq, void *dev_id)
68#endif 73#endif
69 xtime_update(1); 74 xtime_update(1);
70 update_process_times(user_mode(get_irq_regs())); 75 update_process_times(user_mode(get_irq_regs()));
71 if (!(kstat_cpu(0).irqs[irq] % 20)) 76 cnt = kstat_irqs_cpu(irq, 0);
72 sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]); 77 if (!(cnt % 20))
78 sun3_leds(led_pattern[cnt % 160 / 20]);
73 return IRQ_HANDLED; 79 return IRQ_HANDLED;
74} 80}
75 81