Message ID | 1273518917-10229-1-git-send-email-felix@embedded-sol.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Kumar Gala |
Headers | show |
On May 10, 2010, at 2:15 PM, Felix Radensky wrote: > Fix legacy PCI-E interrupt mapping for PCI-E slot 0 of > P2020DS evaluation board. The patch is based on P2020DS > device tree from Freescale BSP for this board. > > Signed-off-by: Felix Radensky <felix@embedded-sol.com> > --- > arch/powerpc/boot/dts/p2020ds.dts | 8 ++++---- > 1 files changed, 4 insertions(+), 4 deletions(-) I don't understand why this is needed? -k > > diff --git a/arch/powerpc/boot/dts/p2020ds.dts b/arch/powerpc/boot/dts/p2020ds.dts > index 1101914..7c5fc07 100644 > --- a/arch/powerpc/boot/dts/p2020ds.dts > +++ b/arch/powerpc/boot/dts/p2020ds.dts > @@ -507,10 +507,10 @@ > interrupt-map-mask = <0xf800 0x0 0x0 0x7>; > interrupt-map = < > /* IDSEL 0x0 */ > - 0000 0x0 0x0 0x1 &mpic 0x8 0x1 > - 0000 0x0 0x0 0x2 &mpic 0x9 0x1 > - 0000 0x0 0x0 0x3 &mpic 0xa 0x1 > - 0000 0x0 0x0 0x4 &mpic 0xb 0x1 > + 0000 0x0 0x0 0x1 &mpic 0x8 0x2 > + 0000 0x0 0x0 0x2 &mpic 0x9 0x2 > + 0000 0x0 0x0 0x3 &mpic 0xa 0x2 > + 0000 0x0 0x0 0x4 &mpic 0xb 0x2 > >; > pcie@0 { > reg = <0x0 0x0 0x0 0x0 0x0>; > -- > 1.5.4.3
Hi Kumar, On 5/11/2010 3:36 PM, Kumar Gala wrote: > On May 10, 2010, at 2:15 PM, Felix Radensky wrote: > > >> Fix legacy PCI-E interrupt mapping for PCI-E slot 0 of >> P2020DS evaluation board. The patch is based on P2020DS >> device tree from Freescale BSP for this board. >> >> Signed-off-by: Felix Radensky <felix@embedded-sol.com> >> --- >> arch/powerpc/boot/dts/p2020ds.dts | 8 ++++---- >> 1 files changed, 4 insertions(+), 4 deletions(-) >> > I don't understand why this is needed? > > -k > > With 2.6.34-rc7 I get this nice dump when loading ath9k for PCI-E card in slot 0: irq 17: nobody cared (try booting with the "irqpoll" option) Call Trace: [ef0d59d0] [c00070b0] show_stack+0x3c/0x17c (unreliable) [ef0d5a10] [c00740f8] __report_bad_irq+0x38/0xcc [ef0d5a30] [c0074344] note_interrupt+0x1b8/0x228 [ef0d5a60] [c007539c] handle_fasteoi_irq+0xac/0x138 [ef0d5a80] [c0004a68] do_IRQ+0xd8/0x104 [ef0d5aa0] [c00102b0] ret_from_except+0x0/0x18 [ef0d5b60] [00029000] 0x29000 [ef0d5bb0] [c000498c] do_softirq+0x6c/0x70 [ef0d5bc0] [c0043bb4] irq_exit+0xb0/0xb4 [ef0d5bd0] [c0004a6c] do_IRQ+0xdc/0x104 [ef0d5bf0] [c00102b0] ret_from_except+0x0/0x18 [ef0d5cb0] [c00735c4] __setup_irq+0x374/0x3ac [ef0d5ce0] [c00736d4] request_threaded_irq+0xd8/0x150 [ef0d5d10] [f11e8c34] ath_pci_probe+0x28c/0x3f8 [ath9k] [ef0d5d90] [c0186334] local_pci_probe+0x24/0x34 [ef0d5da0] [c0186688] pci_device_probe+0x84/0xc4 [ef0d5dd0] [c01b7f84] driver_probe_device+0xa4/0x198 [ef0d5df0] [c01b8328] __driver_attach+0xa4/0xa8 [ef0d5e10] [c01b71b8] bus_for_each_dev+0x60/0x9c [ef0d5e40] [c01b7d98] driver_attach+0x24/0x34 [ef0d5e50] [c01b7b20] bus_add_driver+0x1bc/0x280 [ef0d5e80] [c01b85b4] driver_register+0x70/0x168 [ef0d5ea0] [c01869a0] __pci_register_driver+0x5c/0xe4 [ef0d5ed0] [f11e88cc] ath_pci_init+0x28/0x38 [ath9k] [ef0d5ee0] [f11f104c] ath9k_init+0x4c/0xb0 [ath9k] [ef0d5ef0] [c0001cfc] do_one_initcall+0x40/0x1dc [ef0d5f20] [c0070a7c] sys_init_module+0xf4/0x21c [ef0d5f40] [c000fc58] ret_from_syscall+0x0/0x3c handlers: [<f11e16ac>] (ath_isr+0x0/0x1b4 [ath9k]) Disabling IRQ #17 The ath9k driver does not support MSI interrupts, so it has to use legacy ones. If MSI interrupts are disabled in the kernel configuration I get similar dump with e1000e driver. The patch I've sent fixes the problem with legacy interrupts. Felix.
diff --git a/arch/powerpc/boot/dts/p2020ds.dts b/arch/powerpc/boot/dts/p2020ds.dts index 1101914..7c5fc07 100644 --- a/arch/powerpc/boot/dts/p2020ds.dts +++ b/arch/powerpc/boot/dts/p2020ds.dts @@ -507,10 +507,10 @@ interrupt-map-mask = <0xf800 0x0 0x0 0x7>; interrupt-map = < /* IDSEL 0x0 */ - 0000 0x0 0x0 0x1 &mpic 0x8 0x1 - 0000 0x0 0x0 0x2 &mpic 0x9 0x1 - 0000 0x0 0x0 0x3 &mpic 0xa 0x1 - 0000 0x0 0x0 0x4 &mpic 0xb 0x1 + 0000 0x0 0x0 0x1 &mpic 0x8 0x2 + 0000 0x0 0x0 0x2 &mpic 0x9 0x2 + 0000 0x0 0x0 0x3 &mpic 0xa 0x2 + 0000 0x0 0x0 0x4 &mpic 0xb 0x2 >; pcie@0 { reg = <0x0 0x0 0x0 0x0 0x0>;
Fix legacy PCI-E interrupt mapping for PCI-E slot 0 of P2020DS evaluation board. The patch is based on P2020DS device tree from Freescale BSP for this board. Signed-off-by: Felix Radensky <felix@embedded-sol.com> --- arch/powerpc/boot/dts/p2020ds.dts | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)