mpc8315e-rdb: pci_enable_msi() fails (using today's galak/powerpc.git tree)
Leon Woestenberg
leon.woestenberg at gmail.com
Sun May 24 08:12:18 EST 2009
Hello,
On Sat, May 23, 2009 at 10:58 PM, Leon Woestenberg
<leon.woestenberg at gmail.com> wrote:
> using this tree: git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git
>
> pci_enable_msi() fails on my MPC8315E-RDB board with PCIe device in
I found that the DTS for the MPC8315E-RDB is missing the msi bits. I
added these, converted from the BSP (in old non-hex format):
ipic-msi at 7c0 {
compatible = "fsl,ipic-msi";
reg = <0x7c0 0x40>;
msi-available-ranges = <0 0x100>;
interrupts = < 0x43 8
0x4 8
0x51 8
0x52 8
0x56 8
0x57 8
0x58 8
0x59 8 >;
interrupt-parent = < &ipic >;
};
Now the MSI stuff gets set-up, pci_enable_msi() does not fault. My
interrupt handler is still not called though.
Partial log below:
[ 246.907366] Setting up Freescale MSI support
[ 247.858192] irq: irq 67 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 67
[ 249.323654] irq: irq 4 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 21
[ 250.779210] irq: irq 81 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 81
[ 252.244662] irq: irq 82 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 82
[ 253.710192] irq: irq 86 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 86
[ 255.175651] irq: irq 87 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 87
[ 256.641100] irq: irq 88 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 88
[ 258.106549] irq: irq 89 on host
/immr at e0000000/interrupt-controller at 700 mapped to virtual irq 89
[ 309.396138] pci_enable_msi()
[ 309.399735] irq: irq 0 on host /immr at e0000000/ipic-msi at 7c0 mapped
to virtual irq 24
[ 309.408030] fsl_compose_msi_msg: allocated srs: 0, ibs: 0
[ 309.414160] Enabled MSI interrupting.
[ 309.418449] pci_read_config_byte(..., PCI_REVISION_ID, ...)
[ 309.424754] Board revision: 0x01.
[ 309.428690] pci_request_regions()
[ 309.432654] pci_set_dma_mask()
[ 309.436337] Using a 64-bit DMA mask.
[ 309.455605] request_irq()
[ 309.458925] Succesfully requested IRQ #24 with dev_id 0xc71c5440
debugfs shows:
virq hwirq chip name host name
17 0x00009 IPIC /immr at e0000000/interrupt-controller at 700
22 0x00010 IPIC /immr at e0000000/interrupt-controller at 700
23 0x0000e IPIC /immr at e0000000/interrupt-controller at 700
24 0x00000 FSL-MSI /immr at e0000000/ipic-msi at 7c0
32 0x00020 IPIC /immr at e0000000/interrupt-controller at 700
33 0x00021 IPIC /immr at e0000000/interrupt-controller at 700
34 0x00022 IPIC /immr at e0000000/interrupt-controller at 700
35 0x00023 IPIC /immr at e0000000/interrupt-controller at 700
36 0x00024 IPIC /immr at e0000000/interrupt-controller at 700
37 0x00025 IPIC /immr at e0000000/interrupt-controller at 700
38 0x00026 IPIC /immr at e0000000/interrupt-controller at 700
Regards, Leon.
More information about the Linuxppc-dev
mailing list