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