Skip to contentSkip to conversation

Problem with mini-PCI-E slot on P2020RDB

DISCUSSION Felix Radensky 6 participants 19 messages Dec 15, 2009 – Apr 11, 2011

lore
Share & tools
lore
#0 lore raw

Hi,

I'm trying to use mini-PCI-E WLAN card on P2020RDB running 2.6.32, but so far without success. ath9k driver identifies the device, I can run ifconfig, iwconfig and hostapd on wlan0, but device is not getting any interrupts, so I suspect the interrupt configuration is wrong. Atheros ath9k driver reports:

phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0: mem=0xf1060000, irq=16

The mapping for irq 16 is:

irq: irq 1 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16

According to /proc/interrupts:

CPU0
16: 0 OpenPIC Edge ath9k

The same problem happens if Atheros card is plugged (with adapter) into regular PCI-E slot.

It seems that p2020rdb device tree is missing interrupt-map-mask and interrupt-map properties in PCI-E nodes.

I've tried running kernel from latest FSL BSP for this board (based on 2.6.32-rc3). The device tree has the interrupt-map-mask and interrupt-map properties, and interrupt mapping is different:

irq: irq 0 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16

In /proc/interrups I see
CPU0
16: 100001 OpenPIC Level ath9k

However, when ath9k driver is loaded I get this:

irq 16: nobody cared (try booting with the "irqpoll" option)

Call Trace:
[efbefa40] [c00074b0] show_stack+0x4c/0x16c (unreliable)
[efbefa70] [c0073970] __report_bad_irq+0x38/0xd0
[efbefa90] [c0073bd4] note_interrupt+0x1cc/0x22c
[efbefac0] [c00747d0] handle_fasteoi_irq+0xf4/0x128
[efbefae0] [c0004eb8] do_IRQ+0xc8/0xf4
[efbefb00] [c001081c] ret_from_except+0x0/0x18

[efbefbc0] [00000000] (null)
[efbefc10] [c0004d24] do_softirq+0x60/0x64 [efbefc20] [c0044670] irq_exit+0x88/0xa8 [efbefc30] [c0004ebc] do_IRQ+0xcc/0xf4 [efbefc50] [c001081c] ret_from_except+0x0/0x18 [efbefd10] [c00730b4] __setup_irq+0x320/0x39c [efbefd30] [c0073214] request_threaded_irq+0xe4/0x148 [efbefd60] [f2244218] ath_pci_probe+0x1b0/0x3a4 [ath9k] [efbefda0] [c01c386c] local_pci_probe+0x24/0x34 [efbefdb0] [c01c3bc0] pci_device_probe+0x84/0xa8 [efbefde0] [c01e86b8] driver_probe_device+0xa8/0x1a8 [efbefe00] [c01e8874] __driver_attach+0xbc/0xc0 [efbefe20] [c01e7d88] bus_for_each_dev+0x70/0xac [efbefe50] [c01e84d8] driver_attach+0x24/0x34 [efbefe60] [c01e7504] bus_add_driver+0xb8/0x278 [efbefe90] [c01e8bec] driver_register+0x84/0x178 [efbefeb0] [c01c3e6c] __pci_register_driver+0x54/0xe4 [efbefed0] [f2244434] ath_pci_init+0x28/0x38 [ath9k] [efbefee0] [f215702c] ath9k_init+0x2c/0x100 [ath9k] [efbefef0] [c0001d34] do_one_initcall+0x3c/0x1e8 [efbeff20] [c006f9f0] sys_init_module+0xf8/0x220 [efbeff40] [c00101c4] ret_from_syscall+0x0/0x3c handlers:
[<f223badc>] (ath_isr+0x0/0x1b4 [ath9k]) Disabling IRQ #16

Atheros card plugged into regular PCI-E slot works OK in FSL BSP.

Any help in resolving this is much appreciated.

Thanks.

Felix.

#1 lore raw
Quoted 5 lines

-----Original Message-----
From:=20 [email protected]. org=20 [mailto:linuxppc-dev-bounces+vivek.mahajan=3Dfreescale.com@lists

.ozlabs.org] On Behalf Of Felix Radensky

Quoted 73 lines

Sent: Wednesday, December 16, 2009 2:56 AM
To: [email protected]; Aggrwal Poonam-B10812; Kumar Gala
Subject: Problem with mini-PCI-E slot on P2020RDB
=20
Hi,
=20
I'm trying to use mini-PCI-E WLAN card on P2020RDB running=20 2.6.32, but so far without success.
ath9k driver identifies the device, I can run ifconfig,=20 iwconfig and hostapd on wlan0, but device is not getting any=20 interrupts, so I suspect the interrupt configuration is=20 wrong. Atheros ath9k driver reports:
=20
phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0:=20 mem=3D0xf1060000, irq=3D16
=20
The mapping for irq 16 is:
=20
irq: irq 1 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16 =20
According to /proc/interrupts:
=20
CPU0
16: 0 OpenPIC Edge ath9k
=20
The same problem happens if Atheros card is plugged (with=20 adapter) into regular PCI-E slot.
=20
It seems that p2020rdb device tree is missing=20 interrupt-map-mask and interrupt-map properties in PCI-E nodes. =20
I've tried running kernel from latest FSL BSP for this board=20 (based on 2.6.32-rc3). The device tree has the=20 interrupt-map-mask and interrupt-map properties, and=20 interrupt mapping is different:
=20
irq: irq 0 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16 =20
In /proc/interrups I see
CPU0
16: 100001 OpenPIC Level ath9k
=20
However, when ath9k driver is loaded I get this:
=20
irq 16: nobody cared (try booting with the "irqpoll" option)=20

Call Trace:
[efbefa40] [c00074b0] show_stack+0x4c/0x16c (unreliable)=20
[efbefa70] [c0073970] __report_bad_irq+0x38/0xd0 [efbefa90]=20
[c0073bd4] note_interrupt+0x1cc/0x22c [efbefac0] [c00747d0]=20
handle_fasteoi_irq+0xf4/0x128 [efbefae0] [c0004eb8]=20
do_IRQ+0xc8/0xf4 [efbefb00] [c001081c]=20
ret_from_except+0x0/0x18 [efbefbc0] [00000000] (null)=20
[efbefc10] [c0004d24] do_softirq+0x60/0x64 [efbefc20]=20
[c0044670] irq_exit+0x88/0xa8 [efbefc30] [c0004ebc]=20
do_IRQ+0xcc/0xf4 [efbefc50] [c001081c]=20
ret_from_except+0x0/0x18 [efbefd10] [c00730b4]=20
__setup_irq+0x320/0x39c [efbefd30] [c0073214]=20
request_threaded_irq+0xe4/0x148 [efbefd60] [f2244218]=20
ath_pci_probe+0x1b0/0x3a4 [ath9k] [efbefda0] [c01c386c]=20
local_pci_probe+0x24/0x34 [efbefdb0] [c01c3bc0]=20
pci_device_probe+0x84/0xa8 [efbefde0] [c01e86b8]=20
driver_probe_device+0xa8/0x1a8 [efbefe00] [c01e8874]=20
__driver_attach+0xbc/0xc0 [efbefe20] [c01e7d88]=20
bus_for_each_dev+0x70/0xac [efbefe50] [c01e84d8]=20
driver_attach+0x24/0x34 [efbefe60] [c01e7504]=20
bus_add_driver+0xb8/0x278 [efbefe90] [c01e8bec]=20
driver_register+0x84/0x178 [efbefeb0] [c01c3e6c]=20
__pci_register_driver+0x54/0xe4 [efbefed0] [f2244434]=20
ath_pci_init+0x28/0x38 [ath9k] [efbefee0] [f215702c]=20
ath9k_init+0x2c/0x100 [ath9k] [efbefef0] [c0001d34]=20
do_one_initcall+0x3c/0x1e8 [efbeff20] [c006f9f0]=20
sys_init_module+0xf8/0x220 [efbeff40] [c00101c4]=20
ret_from_syscall+0x0/0x3c
Quoted 2 lines

handlers:
[<f223badc>] (ath_isr+0x0/0x1b4 [ath9k]) Disabling IRQ #16

Looks like INTA is not being routed to IRQ0 properly for this PCIe ctlr. Try changing the interrupt-map prop for the ctlr=20 at 0xffe0a000 to the following, temporarily:-

interrupt-map =3D <
/* IDSEL 0x0 */
0000 0x0 0x0 0x1 &mpic 0x1 0x1
0000 0x0 0x0 0x2 &mpic 0x2 0x1
0000 0x0 0x0 0x3 &mpic 0x3 0x1
0000 0x0 0x0 0x4 &mpic 0x0 0x1

Quoted 11 lines

;

=20
Atheros card plugged into regular PCI-E slot works OK in FSL BSP. =20
Any help in resolving this is much appreciated.
=20
Thanks.
=20
Felix.
=20

Thanks,
Vivek

#2 lore raw

Hi,

Quoted 40 lines · Mahajan Vivek-B08308 wrote:
Quoted 29 lines

Hi,

I'm trying to use mini-PCI-E WLAN card on P2020RDB running 2.6.32, but so far without success.
ath9k driver identifies the device, I can run ifconfig, iwconfig and hostapd on wlan0, but device is not getting any interrupts, so I suspect the interrupt configuration is wrong. Atheros ath9k driver reports:

phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0: mem=0xf1060000, irq=16

The mapping for irq 16 is:

irq: irq 1 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16

According to /proc/interrupts:

CPU0
16: 0 OpenPIC Edge ath9k

The same problem happens if Atheros card is plugged (with adapter) into regular PCI-E slot.

It seems that p2020rdb device tree is missing interrupt-map-mask and interrupt-map properties in PCI-E nodes.

I've tried running kernel from latest FSL BSP for this board (based on 2.6.32-rc3). The device tree has the interrupt-map-mask and interrupt-map properties, and interrupt mapping is different:

irq: irq 0 on host /soc@ffe00000/pic@40000 mapped to virtual irq 16

In /proc/interrups I see
CPU0
16: 100001 OpenPIC Level ath9k

Quoted 7 lines

However, when ath9k driver is loaded I get this:

irq 16: nobody cared (try booting with the "irqpoll" option) Call Trace:
[efbefa40] [c00074b0] show_stack+0x4c/0x16c (unreliable) [efbefa70] [c0073970] __report_bad_irq+0x38/0xd0 [efbefa90] [c0073bd4] note_interrupt+0x1cc/0x22c [efbefac0] [c00747d0] handle_fasteoi_irq+0xf4/0x128 [efbefae0] [c0004eb8] do_IRQ+0xc8/0xf4 [efbefb00] [c001081c] ret_from_except+0x0/0x18 [efbefbc0] [00000000] (null) [efbefc10] [c0004d24] do_softirq+0x60/0x64 [efbefc20] [c0044670] irq_exit+0x88/0xa8 [efbefc30] [c0004ebc] do_IRQ+0xcc/0xf4 [efbefc50] [c001081c] ret_from_except+0x0/0x18 [efbefd10] [c00730b4] __setup_irq+0x320/0x39c [efbefd30] [c0073214] request_threaded_irq+0xe4/0x148 [efbefd60] [f2244218] ath_pci_probe+0x1b0/0x3a4 [ath9k] [efbefda0] [c01c386c] local_pci_probe+0x24/0x34 [efbefdb0] [c01c3bc0] pci_device_probe+0x84/0xa8 [efbefde0] [c01e86b8] driver_probe_device+0xa8/0x1a8 [efbefe00] [c01e8874] __driver_attach+0xbc/0xc0 [efbefe20] [c01e7d88] bus_for_each_dev+0x70/0xac [efbefe50] [c01e84d8] driver_attach+0x24/0x34 [efbefe60] [c01e7504] bus_add_driver+0xb8/0x278 [efbefe90] [c01e8bec] driver_register+0x84/0x178 [efbefeb0] [c01c3e6c] __pci_register_driver+0x54/0xe4 [efbefed0] [f2244434] ath_pci_init+0x28/0x38 [ath9k] [efbefee0] [f215702c] ath9k_init+0x2c/0x100 [ath9k] [efbefef0] [c0001d34] do_one_initcall+0x3c/0x1e8 [efbeff20] [c006f9f0] sys_init_module+0xf8/0x220 [efbeff40] [c00101c4] ret_from_syscall+0x0/0x3c handlers:
[<f223badc>] (ath_isr+0x0/0x1b4 [ath9k]) Disabling IRQ #16

Looks like INTA is not being routed to IRQ0 properly for this
PCIe ctlr. Try changing the interrupt-map prop for the ctlr at 0xffe0a000 to the following, temporarily:-

Quoted 7 lines

interrupt-map = <
/* IDSEL 0x0 */
0000 0x0 0x0 0x1 &mpic 0x1 0x1
0000 0x0 0x0 0x2 &mpic 0x2 0x1
0000 0x0 0x0 0x3 &mpic 0x3 0x1
0000 0x0 0x0 0x4 &mpic 0x0 0x1

Thanks for your help. With this change "nobody cared" message disappears, but interrupts are not coming at all.

Is it a SoC problem or a board problem ?

Thanks.

Felix.

#3 lore raw
Quoted 20 lines

From: Felix Radensky [mailto:[email protected]]=20
Sent: Wednesday, December 16, 2009 2:56 PM
To: Mahajan Vivek-B08308
Cc: [email protected]; Aggrwal Poonam-B10812; Kumar Gala
Subject: Re: Problem with mini-PCI-E slot on P2020RDB =20
Hi,

Quoted 3 lines

Looks like INTA is not being routed to IRQ0 properly for this PCIe=20 ctlr. Try changing the interrupt-map prop for the ctlr at=20

0xffe0a000=20

Quoted 9 lines

to the following, temporarily:-

interrupt-map =3D <
/* IDSEL 0x0 */
0000 0x0 0x0 0x1 &mpic 0x1 0x1
0000 0x0 0x0 0x2 &mpic 0x2 0x1
0000 0x0 0x0 0x3 &mpic 0x3 0x1
0000 0x0 0x0 0x4 &mpic 0x0 0x1
=20

Quoted 5 lines

=20
Thanks for your help. With this change "nobody cared" message=20 disappears, but interrupts are not coming at all.
=20
Is it a SoC problem or a board problem ?

As per the p2020rm, PCIe legacy INTA is shared with IRQ0 for=20 this ctlr, which is the exactly the case with other SoC's=20 p2020ds, mpc8536ds, mpc8572ds. To me it seems like a board=20 issue and it needs to be followed up.

I plugged in ralink rt2860 pcie wirless card in the mini-pcie=20 slot of p2020rdb, which ran fine becaused it used MSI by default. How hard is it to enable MSI in the atheros wireless driver.

Quoted 5 lines

=20
Thanks.
=20
Felix.
=20

Thanks,
Vivek

#4 lore raw
Quoted 23 lines · Mahajan Vivek-B08308 wrote:
Quoted 23 lines

From: Felix Radensky [mailto:[email protected]] Sent: Wednesday, December 16, 2009 2:56 PM
To: Mahajan Vivek-B08308
Cc: [email protected]; Aggrwal Poonam-B10812; Kumar Gala
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hi,

Quoted 2 lines

Looks like INTA is not being routed to IRQ0 properly for this PCIe ctlr. Try changing the interrupt-map prop for the ctlr at

0xffe0a000

Quoted 10 lines

to the following, temporarily:-

interrupt-map = <
/* IDSEL 0x0 */
0000 0x0 0x0 0x1 &mpic 0x1 0x1 0000 0x0 0x0 0x2 &mpic 0x2 0x1 0000 0x0 0x0 0x3 &mpic 0x3 0x1 0000 0x0 0x0 0x4 &mpic 0x0 0x1

Thanks for your help. With this change "nobody cared" message disappears, but interrupts are not coming at all.

Quoted 9 lines
Quoted 2 lines

Is it a SoC problem or a board problem ?

As per the p2020rm, PCIe legacy INTA is shared with IRQ0 for this ctlr, which is the exactly the case with other SoC's p2020ds, mpc8536ds, mpc8572ds. To me it seems like a board issue and it needs to be followed up.

I plugged in ralink rt2860 pcie wirless card in the mini-pcie slot of p2020rdb, which ran fine becaused it used MSI by default. How hard is it to enable MSI in the atheros wireless driver.

I've enabled MSI in ath9k driver, by simply adding pci_enable_msi() and pci_disable_msi() at relevant places. The MSI interrupt is allocated.

irq: irq 0 on host /soc@ffe00000/msi@41600 mapped to virtual irq 18
phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0: mem=0xf2160000, irq=18

cat /proc/interrupts
CPU0
18: 0 FSL-MSI Edge ath9k

lspci -v shows that MSI was enabled on device

But I don't get any interrupts. I've posted a question to ath9k list, maybe folks there will have some ideas.

Thanks.

Felix.

#5 lore raw
Quoted 23 lines

From: Felix Radensky [mailto:[email protected]]=20
Sent: Wednesday, December 16, 2009 5:30 PM

Quoted 3 lines

As per the p2020rm, PCIe legacy INTA is shared with IRQ0 for this=20 ctlr, which is the exactly the case with other SoC's p2020ds,=20 mpc8536ds, mpc8572ds. To me it seems like a board issue and=20

it needs=20

Quoted 3 lines

to be followed up.

I plugged in ralink rt2860 pcie wirless card in the=20

mini-pcie slot of=20

Quoted 4 lines

p2020rdb, which ran fine becaused it used MSI by default. How hard is it to enable MSI in the atheros wireless driver.

=20

=20
I've enabled MSI in ath9k driver, by simply adding=20 pci_enable_msi() and
pci_disable_msi() at relevant places. The MSI interrupt is allocated. =20
irq: irq 0 on host /soc@ffe00000/msi@41600 mapped to virtual irq 18
phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0:=20 mem=3D0xf2160000, irq=3D18
=20

Quoted 8 lines

cat /proc/interrupts
CPU0
18: 0 FSL-MSI Edge ath9k
=20
lspci -v shows that MSI was enabled on device
=20
But I don't get any interrupts. I've posted a question to=20 ath9k list, maybe folks there will have some ideas.

I just noticed a MSI enable bit in drivers/net/wireless/ath/ath9k/reg.h=20 as under, may be we need to trun this on:-

reg.h:1013:#define AR_PCIE_MSI 0x4094
reg.h:1014:#define AR_PCIE_MSI_ENABLE 0x00000001

Quoted 5 lines

=20
Thanks.
=20
Felix.
=20

Thanks,
Vivek

#6 lore raw

Hi,

Quoted 13 lines · Mahajan Vivek-B08308 wrote:
Quoted 13 lines

I've enabled MSI in ath9k driver, by simply adding pci_enable_msi() and pci_disable_msi() at relevant places. The MSI interrupt is allocated.

irq: irq 0 on host /soc@ffe00000/msi@41600 mapped to virtual irq 18
phy0: Atheros AR9280 MAC/BB Rev:2 AR5133 RF Rev:d0: mem=0xf2160000, irq=18

cat /proc/interrupts
CPU0
18: 0 FSL-MSI Edge ath9k

lspci -v shows that MSI was enabled on device

Quoted 9 lines
Quoted 2 lines

But I don't get any interrupts. I've posted a question to ath9k list, maybe folks there will have some ideas.

I just noticed a MSI enable bit in drivers/net/wireless/ath/ath9k/reg.h as under, may be we need to trun this on:-

reg.h:1013:#define AR_PCIE_MSI 0x4094
reg.h:1014:#define AR_PCIE_MSI_ENABLE 0x00000001

According to ath9k developers adding MSI support to the driver is not trivial. They've tried once, it didn't work and they gave up. Any chance I can use mini-PCI-E slot without MSI ?

Thanks.

Felix.

#7 lore raw
Quoted 11 lines

From:=20 [email protected]. org=20 [mailto:linuxppc-dev-bounces+vivek.mahajan=3Dfreescale.com@lists .ozlabs.org] On Behalf Of Felix Radensky
Sent: Thursday, December 17, 2009 12:52 PM

Quoted 5 lines

I just noticed a MSI enable bit in=20
drivers/net/wireless/ath/ath9k/reg.h
as under, may be we need to trun this on:-

Quoted 8 lines
Quoted 2 lines

reg.h:1013:#define AR_PCIE_MSI 0x4094
reg.h:1014:#define AR_PCIE_MSI_ENABLE =20

0x00000001

Quoted 1 line

=20

According to ath9k developers adding MSI support to the=20 driver is not trivial.
They've tried once, it didn't work and they gave up. Any=20 chance I can use mini-PCI-E slot without MSI ?

So, even after enabling the above bit, there were no MSI=20 interrupts from this card. If we look at some of the GbE=20 or SATA drivers, adding MSI is not that hard. ath9k can=20 be an exception.=20

I reported this issue to the p2020 board designer; but=20 unfortunately he is out until 1/4/10. It could be a missing=20 pull-up issue at IRQ0 or some thing else, I don't know.=20

Quoted 4 lines

=20
Thanks.
=20
Felix.

Thanks,
Vivek

#8 lore raw
Quoted 15 lines · Mahajan Vivek-B08308 wrote:
Quoted 15 lines

From: [email protected]. org [mailto:linuxppc-dev-bounces+vivek.mahajan=freescale.com@lists .ozlabs.org] On Behalf Of Felix Radensky
Sent: Thursday, December 17, 2009 12:52 PM

Quoted 6 lines

I just noticed a MSI enable bit in drivers/net/wireless/ath/ath9k/reg.h as under, may be we need to trun this on:-

reg.h:1013:#define AR_PCIE_MSI 0x4094
reg.h:1014:#define AR_PCIE_MSI_ENABLE

0x00000001

Quoted 2 lines
Quoted 6 lines
Quoted 3 lines

According to ath9k developers adding MSI support to the driver is not trivial.
They've tried once, it didn't work and they gave up. Any chance I can use mini-PCI-E slot without MSI ?

So, even after enabling the above bit, there were no MSI interrupts from this card. If we look at some of the GbE or SATA drivers, adding MSI is not that hard. ath9k can be an exception.

Yes, I've enabled that bit, but didn't get any interrupt.

Quoted 3 lines

I reported this issue to the p2020 board designer; but unfortunately he is out until 1/4/10. It could be a missing pull-up issue at IRQ0 or some thing else, I don't know.

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Felix.

#9 lore raw
Quoted 4 lines

From: Felix Radensky [mailto:[email protected]]=20
Sent: Thursday, December 17, 2009 2:26 PM

Quoted 1 line

Yes, I've enabled that bit, but didn't get any interrupt.

Thanks for trying.=20

Quoted 4 lines

=20
Thanks a lot. If I understand you correctly, the only way I=20 can get ath9k driver to work on this board using legacy=20 interrupts is to wait for a hardware fix. Right ?

Correct

Quoted 3 lines

=20
Felix.
=20

Thanks,
Vivek

#10 lore raw
Quoted 6 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

=20
Thanks a lot. If I understand you correctly, the only way I=20 can get ath9k driver to work on this board using legacy=20 interrupts is to wait for a hardware fix. Right ?

=20
Correct

I'm confused. What's the issue with IRQ0 on the P2020RDB? Is it used = for another purpose?

- k=

#11 lore raw

Hi, Kumar

Quoted 10 lines · Kumar Gala
Quoted 4 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 2 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Correct

I'm confused. What's the issue with IRQ0 on the P2020RDB? Is it used for another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16: nobody cared" message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

Felix.

#12 lore raw

Hello,

On Thu, Dec 17, 2009 at 9:28 PM, Felix Radensky <[email protected]> wr= ote:

Quoted 4 lines
Quoted 3 lines · Kumar Gala
Quoted 2 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 2 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait =

for a

Quoted 5 lines
Quoted 5 lines
Quoted 3 lines
Quoted 2 lines

hardware fix. Right ?

Correct

I'm confused. =A0What's the issue with IRQ0 on the P2020RDB? =A0Is it us=

ed for

Quoted 3 lines
Quoted 1 line

another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Ather=

os

Quoted 2 lines

wireless card plugged
into it. ath9k wireless driver for this card uses legacy PCI-E interrupts=

,

Quoted 2 lines

and I get "irq 16: nobody cared"
message when driver executes request_irq(). Vivek has come to a conclusio=

n

Quoted 3 lines

that the problem is
related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

Quoted 1 line

From what document or source code file can I conclude that the PCIe

legacy interrupt is shared with IRQ0?

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Regards,
--=20
Leon

#13 lore raw
Quoted 46 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB =20
Hello,
=20

Quoted 11 lines · Felix Radensky
Quoted 9 lines · Kumar Gala
Quoted 5 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Correct

I'm confused. =A0What's the issue with IRQ0 on the P2020RDB? =A0Is it used for another purpose?

Quoted 7 lines

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16: nobody cared" message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

=20
I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold. =20
Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?
=20
From what document or source code file can I conclude that the PCIe legacy interrupt is shared with IRQ0?
=20
=20
I found this:
=20

Quoted 8 lines

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.
=20
=20

Hello Leon,

Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For Atheros= issue.=20
Can you please try followings, Meanwhile I will try to dig into it.
http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td2680203=
8.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct IDSEL v= alue.=20
Please first try IDSEL value mentioned in email on Linux-ide. Then try this=
URL..

--Prabhakar

#14 lore raw

Hello Kushwaha Prabhakar,

Our impression is that there is the same issue on the P1020/P1011 RDB. Can you confirm this?

Best Regards,
Fabe

2011/4/8 Kushwaha Prabhakar-B32579 <[email protected]>:

Quoted 55 lines
Quoted 44 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello,

Quoted 11 lines · Felix Radensky
Quoted 9 lines · Kumar Gala
Quoted 5 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Correct

I'm confused. =A0What's the issue with IRQ0 on the P2020RDB? =A0Is it used for another purpose?

Quoted 7 lines

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16: nobody cared" message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

From what document or source code file can I conclude that the PCIe legacy interrupt is shared with IRQ0?

Quoted 10 lines

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Quoted 3 lines

Hello Leon,

=A0Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For Ath=

eros issue.

Quoted 2 lines

=A0Can you please try followings, Meanwhile I will try to dig into it. =A0 http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td2680=

2038.html

Quoted 2 lines

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct IDSEL=

value.

Quoted 1 line

Please first try IDSEL value mentioned in email on Linux-ide. Then try th=

is URL..

Quoted 8 lines

--Prabhakar

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

#15 lore raw

Hi Fabe,

Yes .. P1020/P1011 RDB has same issue as of P2020RDB.

It was because of some missing patches at u-boot and Linux.

U-boot patch : It is already present in open source. Please use latest code=
base
Linux patch : I am in process of posting in open source. Please make mentio= ned changes of IDSEL.

--Prabhakar

Quoted 10 lines

-----Original Message-----
From: Fabian Bertholm [mailto:[email protected]]
Sent: Monday, April 11, 2011 1:53 PM
To: Kushwaha Prabhakar-B32579
Cc: Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Felix Radensky; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB
=20
Hello Kushwaha Prabhakar,
=20

Quoted 32 lines

Our impression is that there is the same issue on the P1020/P1011 RDB. Can you confirm this?
=20
Best Regards,
Fabe
=20
=20
2011/4/8 Kushwaha Prabhakar-B32579 <[email protected]>:

Quoted 24 lines
Quoted 24 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello,

Quoted 9 lines · Felix Radensky
Quoted 8 lines · Kumar Gala
Quoted 5 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Correct

I'm confused. =A0What's the issue with IRQ0 on the P2020RDB? =A0Is =

it

Quoted 54 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 1 line

used for another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16: nobody

cared"

Quoted 27 lines
Quoted 16 lines
Quoted 4 lines

message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

From what document or source code file can I conclude that the PCIe legacy interrupt is shared with IRQ0?

Quoted 10 lines

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Quoted 3 lines

Hello Leon,

=A0Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For

Atheros issue.

Quoted 6 lines

=A0Can you please try followings, Meanwhile I will try to dig into it.

http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td26802
038.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct

IDSEL value.

Quoted 1 line

Please first try IDSEL value mentioned in email on Linux-ide. Then try

this URL..

Quoted 8 lines

--Prabhakar

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

#16 lore raw

Hi,

Assuming I have all patches in place, will this problem be resolved on earlier board revisions (before rev D) ?

Felix.

Quoted 102 lines · On 04/11/2011 12:06 PM, Kushwaha Prabhakar-B32579 wrote:

Hi Fabe,

Yes .. P1020/P1011 RDB has same issue as of P2020RDB.

It was because of some missing patches at u-boot and Linux.

U-boot patch : It is already present in open source. Please use latest code base Linux patch : I am in process of posting in open source. Please make mentioned changes of IDSEL.

--Prabhakar

Quoted 90 lines

-----Original Message-----
From: Fabian Bertholm [mailto:[email protected]]
Sent: Monday, April 11, 2011 1:53 PM
To: Kushwaha Prabhakar-B32579
Cc: Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Felix Radensky; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello Kushwaha Prabhakar,

Our impression is that there is the same issue on the P1020/P1011 RDB. Can you confirm this?

Best Regards,
Fabe

2011/4/8 Kushwaha Prabhakar-B32579<[email protected]>:

Quoted 20 lines
Quoted 20 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello,

Quoted 6 lines · Felix Radensky
Quoted 5 lines · Kumar Gala
Quoted 4 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 3 lines
Quoted 1 line

Correct

I'm confused. What's the issue with IRQ0 on the P2020RDB? Is it used for another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16: nobody

cared"

Quoted 25 lines
Quoted 15 lines
Quoted 4 lines

message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

From what document or source code file can I conclude that the PCIe
legacy interrupt is shared with IRQ0?

Quoted 10 lines

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Quoted 3 lines

Hello Leon,

Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For

Atheros issue.

Quoted 6 lines

Can you please try followings, Meanwhile I will try to dig into it.

http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td26802
038.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct

IDSEL value.

Quoted 1 line

Please first try IDSEL value mentioned in email on Linux-ide. Then try

this URL..

Quoted 7 lines

--Prabhakar

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

#17 lore raw

Hi,

Yes. It wil be applicable for all revisions.=20

Regards,
Prabhakar

Quoted 122 lines

-----Original Message-----
From: Felix Radensky [mailto:[email protected]]
Sent: Monday, April 11, 2011 2:10 PM
To: Kushwaha Prabhakar-B32579
Cc: Fabian Bertholm; Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB
=20
Hi,
=20
Assuming I have all patches in place, will this problem be resolved on earlier board revisions (before rev D) ?
=20
Felix.
=20

Quoted 8 lines · On 04/11/2011 12:06 PM, Kushwaha Prabhakar-B32579 wrote:

Hi Fabe,

Yes .. P1020/P1011 RDB has same issue as of P2020RDB.

It was because of some missing patches at u-boot and Linux.

U-boot patch : It is already present in open source. Please use latest code base Linux patch : I am in process of posting in open source.

Please make mentioned changes of IDSEL.

Quoted 97 lines

--Prabhakar

Quoted 93 lines

-----Original Message-----
From: Fabian Bertholm [mailto:[email protected]]
Sent: Monday, April 11, 2011 1:53 PM
To: Kushwaha Prabhakar-B32579
Cc: Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Felix Radensky; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello Kushwaha Prabhakar,

Our impression is that there is the same issue on the P1020/P1011 RDB. Can you confirm this?

Best Regards,
Fabe

2011/4/8 Kushwaha Prabhakar-B32579<[email protected]>:

Quoted 20 lines
Quoted 20 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello,

Quoted 6 lines · Felix Radensky
Quoted 5 lines · Kumar Gala
Quoted 4 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 3 lines
Quoted 1 line

Correct

I'm confused. What's the issue with IRQ0 on the P2020RDB? Is it used for another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16:
nobody

cared"

Quoted 25 lines
Quoted 15 lines
Quoted 4 lines

message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

From what document or source code file can I conclude that the
PCIe legacy interrupt is shared with IRQ0?

Quoted 10 lines

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Quoted 3 lines

Hello Leon,

Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For

Atheros issue.

Quoted 7 lines

Can you please try followings, Meanwhile I will try to dig into it.

http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td268
02
038.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct

IDSEL value.

Quoted 2 lines

Please first try IDSEL value mentioned in email on Linux-ide. Then try

this URL..

Quoted 7 lines

--Prabhakar

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

#18 lore raw

Hi Prabhakar,

Quoted 7 lines · On 04/11/2011 02:09 PM, Kushwaha Prabhakar-B32579 wrote:

Hi,

Yes. It wil be applicable for all revisions.

Regards,
Prabhakar

I'm sure this is applicable to all revisions, but it doesn't necessarily makes things work. The problem I've reported back in 2009 still exists on P2020RDB revC, even if I use the latest u-boot and kernel and make device tree changes that you've suggested.
I've attached the boot log.

On the other hand, on P1020RDB revD with the same kernel, ath9k driver loads fine and interrupts are arriving. However this only works with u-boot-2010.12. If I upgrade to u-boot-2011.03 loading ath9k hangs the board. I'll report this separately on u-boot mailing list.

I would summarize this problem as follows. P10xx/P20xx RDB boards prior to revD have hardware flaw. Using mini PCI-E cards that rely on legacy interrupts is not possible on such boards. The problem was fixed in board revision D. To use legacy interrupts one has to modify pci-e nodes in device tree and add "interrupt-map-mask" and "interrupt-map" properties.

Do you agree with this analysis ?

Felix.

Quoted 111 lines
Quoted 111 lines

-----Original Message-----
From: Felix Radensky [mailto:[email protected]]
Sent: Monday, April 11, 2011 2:10 PM
To: Kushwaha Prabhakar-B32579
Cc: Fabian Bertholm; Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hi,

Assuming I have all patches in place, will this problem be resolved on earlier board revisions (before rev D) ?

Felix.

Quoted 8 lines · On 04/11/2011 12:06 PM, Kushwaha Prabhakar-B32579 wrote:

Hi Fabe,

Yes .. P1020/P1011 RDB has same issue as of P2020RDB.

It was because of some missing patches at u-boot and Linux.

U-boot patch : It is already present in open source. Please use latest code base Linux patch : I am in process of posting in open source.

Please make mentioned changes of IDSEL.

Quoted 86 lines

--Prabhakar

Quoted 84 lines

-----Original Message-----
From: Fabian Bertholm [mailto:[email protected]]
Sent: Monday, April 11, 2011 1:53 PM
To: Kushwaha Prabhakar-B32579
Cc: Leon Woestenberg; [email protected]; Mahajan Vivek-B08308; Felix Radensky; Aggrwal Poonam-B10812; Gupta Maneesh-B18878
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello Kushwaha Prabhakar,

Our impression is that there is the same issue on the P1020/P1011 RDB. Can you confirm this?

Best Regards,
Fabe

2011/4/8 Kushwaha Prabhakar-B32579<[email protected]>:

Quoted 19 lines
Quoted 19 lines

-----Original Message-----
From: Leon Woestenberg [mailto:[email protected]]
Sent: Thursday, April 07, 2011 10:50 PM
To: [email protected]
Cc: Kumar Gala; Mahajan Vivek-B08308; Aggrwal Poonam-B10812; Felix Radensky; Kushwaha Prabhakar-B32579
Subject: Re: Problem with mini-PCI-E slot on P2020RDB

Hello,

Quoted 6 lines · Felix Radensky
Quoted 5 lines · Kumar Gala
Quoted 4 lines · On Dec 17, 2009, at 2:59 AM, Mahajan Vivek-B08308 wrote:
Quoted 4 lines

Thanks a lot. If I understand you correctly, the only way I can get ath9k driver to work on this board using legacy interrupts is to wait for a hardware fix. Right ?

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 3 lines
Quoted 1 line

Correct

I'm confused. What's the issue with IRQ0 on the P2020RDB? Is it used for another purpose?

There's a problem with IRQ0 with respect to mini-PCI-E slot. I have Atheros wireless card plugged into it. ath9k wireless driver for this card uses legacy PCI-E interrupts, and I get "irq 16:
nobody

cared"

Quoted 25 lines
Quoted 15 lines
Quoted 4 lines

message when driver executes request_irq(). Vivek has come to a conclusion that the problem is related to incorrect IRQ0 routing for mini-PCI-E slot on P2020RDB.

I would like to understand this issue better, as I seem to be running into something similar, and it puts my board design on hold.

Can someone (from Freescale) explain what happens if a PCI Express end point on the mini-PCIe slot raises a legacy interrupt, and where this goes wrong?

From what document or source code file can I conclude that the
PCIe legacy interrupt is shared with IRQ0?

Quoted 10 lines

I found this:

P1020E/P2020E RDB System Errata, Last Update: 2/15/2010:
Problem:IRQ0 held low
Fix: Add 4.7K pull-up (to 3.3.V) for RTC_INT_N. See R420 in Rev D schematic.
Add 4.7K pull-up (to 3.3.V) for MCU_INT_N.
See R423 in Rev D schematic.

Quoted 3 lines

Hello Leon,

Yes you are right, PCIe leagacy interrupt is shared with IRQ0. For

Atheros issue.

Quoted 7 lines

Can you please try followings, Meanwhile I will try to dig into it.

http://old.nabble.com/Problem-with-mini-PCI-E-slot-on-P2020RDB-td268
02
038.html

Regarding sata_sil24, Please see my e-mail on Linux-ide for correct

IDSEL value.

Quoted 2 lines

Please first try IDSEL value mentioned in email on Linux-ide. Then try

Quoted 9 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines

this URL..

Quoted 7 lines

--Prabhakar

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev

U-Boot 2011.03 (Apr 11 2011 - 13:57:51)

CPU0:  P2020E, Version: 1.0, (0x80ea0010)
Core:  E500, Version: 4.0, (0x80211040)
Clock Configuration:
       CPU0:1200 MHz, CPU1:1200 MHz,
       CCB:600  MHz,
       DDR:400  MHz (800 MT/s data rate) (Asynchronous), LBC:37.500 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: P2020RDB RevC
I2C:   ready
DRAM:  Configuring DDR for 800 MT/s data rate
DDR: 1 GiB (DDR2, 64-bit, CL=6, ECC off)
Flash: 16 MiB
L2:    512 KB enabled
NAND:  32 MiB
MMC:  FSL_ESDHC: 0
EEPROM: Invalid ID (ff ff ff ff)
PCIe1: Root Complex of Slot 2, x1, regs @ 0xffe0a000
  01:00.0     - 168c:002a - Network controller
PCIe1: Bus 00 - 01
PCIe2: Root Complex of Slot 1, no link, regs @ 0xffe09000
PCIe2: Bus 02 - 02
In:    serial
Out:   serial
Err:   serial
Net:   eTSEC3 is in sgmii mode.

uploading VSC7385 microcode from ef000000
eTSEC1: No support for PHY id ffffffff; assuming generic eTSEC1, eTSEC2, eTSEC3
Hit any key to stop autoboot: 0
Speed: 1000, full duplex
Using eTSEC1 device
TFTP from server 10.0.0.10; our IP address is 10.0.0.30 Filename 'p2020rdb/uImage'.
Load address: 0x1000000
Loading: #################################################################

         #################################################################
         #################################################################
         ##########

done
Bytes transferred = 2997778 (2dbe12 hex)
Speed: 1000, full duplex
Using eTSEC1 device
TFTP from server 10.0.0.10; our IP address is 10.0.0.30 Filename 'p2020rdb/p2020rdb.dtb'.
Load address: 0xc00000
Loading: #
done
Bytes transferred = 11229 (2bdd hex)
WARNING: adjusting available memory to 30000000 ## Booting kernel from Legacy Image at 01000000 ...

   Image Name:   Linux-2.6.38.2
   Created:      2011-04-11  11:19:15 UTC
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    2997714 Bytes = 2.9 MiB

Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 00c00000
Booting using the fdt blob at 0xc00000
Uncompressing Kernel Image ... OK
Loading Device Tree to 00ffa000, end 00fffbdc ... OK
Using P2020 RDB machine description
Memory CAM mapping: 256/256/256 Mb, residual: 256Mb
Linux version 2.6.38.2 ([email protected]) (gcc version 4.2.2) #1 Mon Apr 11 14:18:40 IDT 2011 bootconsole [udbg0] enabled
setup_arch: bootmem
mpc85xx_rdb_setup_arch()
Found FSL PCI host bridge at 0x00000000ffe09000. Firmware bus number: 0->0 PCI host bridge /pcie@ffe09000 ranges:
MEM 0x00000000a0000000..0x00000000bfffffff -> 0x00000000a0000000
IO 0x00000000ffc30000..0x00000000ffc3ffff -> 0x0000000000000000
/pcie@ffe09000: PCICSRBAR @ 0xfff00000
Found FSL PCI host bridge at 0x00000000ffe0a000. Firmware bus number: 0->1 PCI host bridge /pcie@ffe0a000 ranges:
MEM 0x00000000c0000000..0x00000000dfffffff -> 0x00000000c0000000
IO 0x00000000ffc20000..0x00000000ffc2ffff -> 0x0000000000000000
/pcie@ffe0a000: PCICSRBAR @ 0xfff00000
MPC85xx RDB board from Freescale Semiconductor
arch: exit
Zone PFN ranges:

  DMA      0x00000000 -> 0x00030000
  Normal   empty
  HighMem  0x00030000 -> 0x00040000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00040000

MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/4.2/ppc_85xxDP ip=10.0.0.30:10.0.0.10::255.0.0.0:P2020RDB:eth0:off console=ttyS0,115200 ra0 PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1033304k/1048576k available (5816k kernel code, 15272k reserved, 184k data, 148k bss, 200k init)
Kernel virtual memory layout:

  * 0xfffcf000..0xfffff000  : fixmap
  * 0xffc00000..0xffe00000  : highmem PTEs
  * 0xffbda000..0xffc00000  : early ioremap
  * 0xf1000000..0xffbda000  : vmalloc & ioremap

SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:512 nr_irqs:512 16
mpic: Setting up MPIC " OpenPIC " version 1.2 at ffe40000, max 2 CPUs
mpic: ISU size: 256, shift: 8, mask: ff
mpic: Initializing for 256 sources
clocksource: timebase mult[3555555] shift[22] registered
Console: colour dummy device 80x25
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16

PCI: Probing PCI hardware
pci 0000:00:00.0: ignoring class b20 (doesn't match header type 01) pci 0000:00:00.0: PCI bridge to [bus 01-ff]
pci 0001:02:00.0: ignoring class b20 (doesn't match header type 01) pci 0001:02:00.0: PCI bridge to [bus 03-ff]
PCI: Cannot allocate resource region 0 of device 0001:03:00.0, will remap pci 0000:00:00.0: PCI bridge to [bus 01-01]

pci 0000:00:00.0:   bridge window [io  0xffbed000-0xffbfcfff]
pci 0000:00:00.0:   bridge window [mem 0xa0000000-0xbfffffff]
pci 0000:00:00.0:   bridge window [mem pref disabled]

pci 0000:00:00.0: enabling device (0106 -> 0107)
pci 0001:03:00.0: BAR 0: assigned [mem 0xc0000000-0xc000ffff 64bit]
pci 0001:03:00.0: BAR 0: set to [mem 0xc0000000-0xc000ffff 64bit] (PCI address [0xc0000000-0xc000ffff]) pci 0001:02:00.0: PCI bridge to [bus 03-03]

pci 0001:02:00.0:   bridge window [io  0xffbdb000-0xffbeafff]
pci 0001:02:00.0:   bridge window [mem 0xc0000000-0xdfffffff]
pci 0001:02:00.0:   bridge window [mem pref disabled]

pci 0001:02:00.0: enabling device (0106 -> 0107)
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale Elo / Elo Plus DMA driver
Advanced Linux Sound Architecture Driver Version 1.0.23.
cfg80211: Calling CRDA to update world regulatory domain Switching to clocksource timebase
Switched to NOHz mode on CPU #0
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes) TCP established hash table entries: 131072 (order: 8, 1048576 bytes) TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536) TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module. of:fsl-elo-dma ffe0c300.dma: #0 (fsl,eloplus-dma-channel), irq 76 of:fsl-elo-dma ffe0c300.dma: #1 (fsl,eloplus-dma-channel), irq 77 of:fsl-elo-dma ffe0c300.dma: #2 (fsl,eloplus-dma-channel), irq 78 of:fsl-elo-dma ffe0c300.dma: #3 (fsl,eloplus-dma-channel), irq 79 of:fsl-elo-dma ffe21300.dma: #0 (fsl,eloplus-dma-channel), irq 21 of:fsl-elo-dma ffe21300.dma: #1 (fsl,eloplus-dma-channel), irq 22 of:fsl-elo-dma ffe21300.dma: #2 (fsl,eloplus-dma-channel), irq 23 of:fsl-elo-dma ffe21300.dma: #3 (fsl,eloplus-dma-channel), irq 24
audit: initializing netlink socket (disabled)
type=2000 audit(0.224:1): initialized
highmem bounce pool size: 64 pages
Installing knfsd (copyright (C) 1996 [email protected]).
NTFS driver 2.1.30 [Flags: R/O].
msgmni has been set to 1506
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Freescale DIU driver
Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled serial8250.0: ttyS0 at MMIO 0xffe04500 (irq = 42) is a 16550A console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0xffe04600 (irq = 42) is a 16550A Generic non-volatile memory driver v1.1
brd: module loaded
loop: module loaded
nbd: registered device at major 43
st: Version 20101219, fixed bufsize 32768, s/g segs 256
Fixed MDIO Bus: probed
eth0: Gianfar Ethernet Controller Version 1.2, 00:04:9f:ec:a1:02
eth0: Running with NAPI enabled
eth0: RX BD ring size for Q[0]: 256
eth0: TX BD ring size for Q[0]: 256
eth1: Gianfar Ethernet Controller Version 1.2, 00:04:9f:ec:a1:11
eth1: Running with NAPI enabled
eth1: RX BD ring size for Q[0]: 256
eth1: TX BD ring size for Q[0]: 256
eth2: Gianfar Ethernet Controller Version 1.2, 00:04:9f:ec:a1:01
eth2: Running with NAPI enabled
eth2: RX BD ring size for Q[0]: 256
eth2: TX BD ring size for Q[0]: 256
Freescale PowerQUICC MII Bus: probed
Freescale PowerQUICC MII Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver /soc@ffe00000/usb@22000: Invalid 'dr_mode' property, fallback to host mode fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 28, io mem 0xffe22000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
of:mpc-i2c ffe03000.i2c: timeout 1000000 us
of:mpc-i2c ffe03100.i2c: timeout 1000000 us
EDAC MC: Ver: 2.1.0 Apr 11 2011
of:talitos ffe30000.crypto: hwrng
of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-aes-talitos of:talitos ffe30000.crypto: authenc-hmac-sha1-cbc-3des-talitos of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-aes-talitos of:talitos ffe30000.crypto: authenc-hmac-sha256-cbc-3des-talitos of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-aes-talitos of:talitos ffe30000.crypto: authenc-hmac-md5-cbc-3des-talitos of:talitos ffe30000.crypto: cbc-aes-talitos
of:talitos ffe30000.crypto: cbc-3des-talitos
of:talitos ffe30000.crypto: md5-talitos
of:talitos ffe30000.crypto: sha1-talitos
of:talitos ffe30000.crypto: sha224-talitos
of:talitos ffe30000.crypto: sha256-talitos
of:talitos ffe30000.crypto: sha384-talitos
of:talitos ffe30000.crypto: sha512-talitos
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
ALSA device list:
No soundcards found.
IPv4 over IPv4 tunneling driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
drivers/rtc/hctosys.c: unable to open rtc device (rtc0) ADDRCONF(NETDEV_UP): eth0: link is not ready
IP-Config: Complete:

     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=255.255.255.255,
     host=P2020RDB, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=

PHY: 0:01 - Link is Up - 1000/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing unused kernel memory: 200k init
INIT: version 2.86 booting
Welcome to DENX Embedded Linux Environment
Press 'I' to enter interactive startup.
Cannot access the Hardware Clock via any known method.
Use the --debug option to see the details of our search for an access method. Setting clock : Thu Jan 1 01:00:03 CET 1970 [ OK ]
Building the cache [ OK ]
Setting hostname P2020RDB: [ OK ]
Your system appears to have shut down uncleanly
Checking filesystems
Checking all file systems.
[ OK ]

Mounting local filesystems:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
INIT: Entering runlevel: 3
Entering non-interactive startup
Bringing up loopback interface:  [  OK  ]
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting rpcbind: [  OK  ]
Mounting NFS filesystems:  [  OK  ]
Mounting other filesystems:  [  OK  ]
Starting xinetd: [  OK  ]
Starting dropbear:  [  OK  ]

DENX ELDK version 4.2 build 2008-04-01
Linux 2.6.38.2 on a ppc

P2020RDB login: root
Last login: Thu Jan 1 01:00:15 on ttyS0 -bash-3.2# modprobe ath9k
irq 16: nobody cared (try booting with the "irqpoll" option)

Call Trace:
[efff1f50] [c0007370] show_stack+0x3c/0x17c (unreliable)
[efff1f90] [c0072200] __report_bad_irq+0x38/0xcc
[efff1fb0] [c007244c] note_interrupt+0x1b8/0x228
[efff1fe0] [c0073548] handle_fasteoi_irq+0x9c/0x114
[efff1ff0] [c000cb98] call_handle_irq+0x18/0x28
[ef4adbe0] [c0005130] do_IRQ+0xa4/0x140
[ef4adc10] [c000e420] ret_from_except+0x0/0x18
--- Exception: 501 at __setup_irq+0x1a4/0x33c
    LR = __setup_irq+0x338/0x33c
[ef4adcf0] [c0071684] request_threaded_irq+0xbc/0x138
[ef4add20] [f171fcf8] ath_pci_probe+0x218/0x364 [ath9k]
[ef4adda0] [c01e0508] local_pci_probe+0x24/0x34
[ef4addb0] [c01e0798] pci_device_probe+0x84/0xc4
[ef4adde0] [c021fe04] driver_probe_device+0x150/0x1b4
[ef4ade00] [c022011c] __driver_attach+0xa4/0xa8
[ef4ade20] [c021ed38] bus_for_each_dev+0x60/0x9c
[ef4ade50] [c021fb4c] driver_attach+0x24/0x34
[ef4ade60] [c021f8d4] bus_add_driver+0x1c0/0x284
[ef4ade90] [c0220380] driver_register+0x70/0x168
[ef4adeb0] [c01e0a88] __pci_register_driver+0x4c/0xd4
[ef4aded0] [f171f998] ath_pci_init+0x28/0x38 [ath9k]
[ef4adee0] [f172804c] ath9k_init+0x4c/0xb0 [ath9k]
[ef4adef0] [c0001ef8] do_one_initcall+0x16c/0x1b8
[ef4adf20] [c006a328] sys_init_module+0xd4/0x1e4
[ef4adf40] [c000ddcc] ret_from_syscall+0x0/0x3c
--- Exception: c01 at 0xff690b0
    LR = 0x10003420

handlers:
[<f171698c>] (ath_isr+0x0/0x210 [ath9k])
Disabling IRQ #16