diff options
Diffstat (limited to 'arch/m68k/amiga/cia.c')
-rw-r--r-- | arch/m68k/amiga/cia.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c index 9476eb9440f5..4a003d87f98d 100644 --- a/arch/m68k/amiga/cia.c +++ b/arch/m68k/amiga/cia.c | |||
@@ -33,14 +33,14 @@ struct ciabase { | |||
33 | } ciaa_base = { | 33 | } ciaa_base = { |
34 | .cia = &ciaa, | 34 | .cia = &ciaa, |
35 | .int_mask = IF_PORTS, | 35 | .int_mask = IF_PORTS, |
36 | .handler_irq = IRQ_AMIGA_AUTO_2, | 36 | .handler_irq = IRQ_AUTO_2, |
37 | .cia_irq = IRQ_AMIGA_CIAA, | 37 | .cia_irq = IRQ_AMIGA_CIAA, |
38 | .server_irq = IRQ_AMIGA_PORTS, | 38 | .server_irq = IRQ_AMIGA_PORTS, |
39 | .name = "CIAA handler" | 39 | .name = "CIAA handler" |
40 | }, ciab_base = { | 40 | }, ciab_base = { |
41 | .cia = &ciab, | 41 | .cia = &ciab, |
42 | .int_mask = IF_EXTER, | 42 | .int_mask = IF_EXTER, |
43 | .handler_irq = IRQ_AMIGA_AUTO_6, | 43 | .handler_irq = IRQ_AUTO_6, |
44 | .cia_irq = IRQ_AMIGA_CIAB, | 44 | .cia_irq = IRQ_AMIGA_CIAB, |
45 | .server_irq = IRQ_AMIGA_EXTER, | 45 | .server_irq = IRQ_AMIGA_EXTER, |
46 | .name = "CIAB handler" | 46 | .name = "CIAB handler" |
@@ -131,12 +131,11 @@ static irqreturn_t cia_handler(int irq, void *dev_id, struct pt_regs *fp) | |||
131 | unsigned char ints; | 131 | unsigned char ints; |
132 | 132 | ||
133 | mach_irq = base->cia_irq; | 133 | mach_irq = base->cia_irq; |
134 | irq = SYS_IRQS + mach_irq; | ||
135 | ints = cia_set_irq(base, CIA_ICR_ALL); | 134 | ints = cia_set_irq(base, CIA_ICR_ALL); |
136 | amiga_custom.intreq = base->int_mask; | 135 | amiga_custom.intreq = base->int_mask; |
137 | for (i = 0; i < CIA_IRQS; i++, irq++, mach_irq++) { | 136 | for (i = 0; i < CIA_IRQS; i++, mach_irq++) { |
138 | if (ints & 1) { | 137 | if (ints & 1) { |
139 | kstat_cpu(0).irqs[irq]++; | 138 | kstat_cpu(0).irqs[mach_irq]++; |
140 | base->irq_list[i].handler(mach_irq, base->irq_list[i].dev_id, fp); | 139 | base->irq_list[i].handler(mach_irq, base->irq_list[i].dev_id, fp); |
141 | } | 140 | } |
142 | ints >>= 1; | 141 | ints >>= 1; |
@@ -172,7 +171,7 @@ int cia_get_irq_list(struct ciabase *base, struct seq_file *p) | |||
172 | j = base->cia_irq; | 171 | j = base->cia_irq; |
173 | for (i = 0; i < CIA_IRQS; i++) { | 172 | for (i = 0; i < CIA_IRQS; i++) { |
174 | seq_printf(p, "cia %2d: %10d ", j + i, | 173 | seq_printf(p, "cia %2d: %10d ", j + i, |
175 | kstat_cpu(0).irqs[SYS_IRQS + j + i]); | 174 | kstat_cpu(0).irqs[j + i]); |
176 | seq_puts(p, " "); | 175 | seq_puts(p, " "); |
177 | seq_printf(p, "%s\n", base->irq_list[i].devname); | 176 | seq_printf(p, "%s\n", base->irq_list[i].devname); |
178 | } | 177 | } |