aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/amiga/cia.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/amiga/cia.c')
-rw-r--r--arch/m68k/amiga/cia.c11
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 }