Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MIPS] IP32: More interrupt renumbering fixes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

+15 -11
+14 -10
arch/mips/sgi-ip32/ip32-irq.c
··· 209 209 210 210 static void enable_macepci_irq(unsigned int irq) 211 211 { 212 - macepci_mask |= MACEPCI_CONTROL_INT(irq - 9); 212 + macepci_mask |= MACEPCI_CONTROL_INT(irq - MACEPCI_SCSI0_IRQ); 213 213 mace->pci.control = macepci_mask; 214 - crime_mask |= 1 << (irq - 1); 214 + crime_mask |= 1 << (irq - CRIME_IRQ_BASE); 215 215 crime->imask = crime_mask; 216 216 } 217 217 218 218 static void disable_macepci_irq(unsigned int irq) 219 219 { 220 - crime_mask &= ~(1 << (irq - 1)); 220 + crime_mask &= ~(1 << (irq - CRIME_IRQ_BASE)); 221 221 crime->imask = crime_mask; 222 222 flush_crime_bus(); 223 - macepci_mask &= ~MACEPCI_CONTROL_INT(irq - 9); 223 + macepci_mask &= ~MACEPCI_CONTROL_INT(irq - MACEPCI_SCSI0_IRQ); 224 224 mace->pci.control = macepci_mask; 225 225 flush_mace_bus(); 226 226 } ··· 299 299 pr_debug("crime_int %08x enabled\n", crime_int); 300 300 crime_mask |= crime_int; 301 301 crime->imask = crime_mask; 302 - maceisa_mask |= 1 << (irq - 33); 302 + maceisa_mask |= 1 << (irq - MACEISA_AUDIO_SW_IRQ); 303 303 mace->perif.ctrl.imask = maceisa_mask; 304 304 } 305 305 ··· 307 307 { 308 308 unsigned int crime_int = 0; 309 309 310 - maceisa_mask &= ~(1 << (irq - 33)); 310 + maceisa_mask &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ)); 311 311 if (!(maceisa_mask & MACEISA_AUDIO_INT)) 312 312 crime_int |= MACE_AUDIO_INT; 313 313 if (!(maceisa_mask & MACEISA_MISC_INT)) ··· 331 331 case MACEISA_SERIAL2_TDMAPR_IRQ: 332 332 /* edge triggered */ 333 333 mace_int = mace->perif.ctrl.istat; 334 - mace_int &= ~(1 << (irq - 33)); 334 + mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ)); 335 335 mace->perif.ctrl.istat = mace_int; 336 336 break; 337 337 } ··· 359 359 360 360 static void enable_mace_irq(unsigned int irq) 361 361 { 362 - crime_mask |= 1 << (irq - 1); 362 + unsigned int bit = irq - CRIME_IRQ_BASE; 363 + 364 + crime_mask |= (1 << bit); 363 365 crime->imask = crime_mask; 364 366 } 365 367 366 368 static void disable_mace_irq(unsigned int irq) 367 369 { 368 - crime_mask &= ~(1 << (irq - 1)); 370 + unsigned int bit = irq - CRIME_IRQ_BASE; 371 + 372 + crime_mask &= ~(1 << bit); 369 373 crime->imask = crime_mask; 370 374 flush_crime_bus(); 371 375 } ··· 493 489 mace->perif.ctrl.imask = 0; 494 490 495 491 mips_cpu_irq_init(); 496 - for (irq = MIPS_CPU_IRQ_BASE + 8; irq <= IP32_IRQ_MAX; irq++) { 492 + for (irq = CRIME_IRQ_BASE; irq <= IP32_IRQ_MAX; irq++) { 497 493 switch (irq) { 498 494 case MACE_VID_IN1_IRQ ... MACE_PCI_BRIDGE_IRQ: 499 495 set_irq_chip(irq, &ip32_mace_interrupt);
+1 -1
include/asm-mips/ip32/ip32_ints.h
··· 22 22 * CPU interrupts are 0 ... 7 23 23 */ 24 24 25 - CRIME_IRQ_BASE = MIPS_CPU_IRQ_BASE, 25 + CRIME_IRQ_BASE = MIPS_CPU_IRQ_BASE + 8, 26 26 27 27 /* 28 28 * MACE