EXT_IRQ0 @ MPC834x
Andre Schwarz
andre.schwarz at matrix-vision.de
Wed Apr 30 02:44:09 EST 2008
All,
actually I'm having trouble getting the IRQ0 work on a MPC8343 with
2.6.25-rc8.
There's an external PCI device connected to it ....
Regarding to the manual IRQ0 is somewhat special and has Vector 48 assigned.
Therefore my dts entry for this device looks like :
interrupt-map = <0x5800 0 0 1 &ipic 0x30 0x8
... >;
Having a look on virq mapping gives :
mvBL-M7> cat /sys/kernel/debug/powerpc/virq_mapping
virq hwirq chip name host name
16 0x0000e IPIC /soc at e0000000/pic at 700
17 0x0000f IPIC /soc at e0000000/pic at 700
18 0x00009 IPIC /soc at e0000000/pic at 700
20 0x00010 IPIC /soc at e0000000/pic at 700
32 0x00020 IPIC /soc at e0000000/pic at 700
33 0x00021 IPIC /soc at e0000000/pic at 700
34 0x00022 IPIC /soc at e0000000/pic at 700
38 0x00026 IPIC /soc at e0000000/pic at 700
48 0x00030 IPIC /soc at e0000000/pic at 700
After loading the device driver (=mvbcdma) the irq shows up correctly.
mvBL-M7> cat /proc/interrupts
CPU0
16: 603 IPIC Level i2c-mpc
17: 8 IPIC Level i2c-mpc
18: 295 IPIC Level serial
20: 341 IPIC Level mpc83xx_spi
32: 2 IPIC Level enet_tx
33: 3 IPIC Level enet_rx
34: 0 IPIC Level enet_error
38: 0 IPIC Level ehci_hcd:usb1
48: 0 IPIC Level mvbcdma0
BAD: 0
As soon as the device generates an interrupt I get :
irq 48: nobody cared (try booting with the "irqpoll" option)
handlers:
[<d18d66e8>] (mvbcdma_irq+0x0/0x180 [mvbcdma])
Disabling IRQ #48
The handler _would_ have returned IRQ_RETVAL(1).
Obviously the handler isn't called at all - but why ?
Using "nm" on the kernel module gives :
000006e8 t mvbcdma_irq
->offset 0x6e8 inside module matches with output regarding handler.
Any help is welcome !
regards,
Andre Schwarz
MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
More information about the Linuxppc-dev
mailing list