PCIe with PCIe Switch PI7C9X2G303EL or PLX8603 with 3.10.17_1.0.0_ga

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCIe with PCIe Switch PI7C9X2G303EL or PLX8603 with 3.10.17_1.0.0_ga

Jump to solution
17,013 Views
Rodrigue
NXP Employee
NXP Employee

Hi Folks,

Did you ever test a PCie Switch with our latest 3.10.17?

It seems that our PCIe driver does not support the Interrupt routing from the Switch.

It seems it supports only 1 IT (INTA) coming from only 1 Device.

But the 3 others INTB/INTC/INTD) are not correctly routed, but would be very helpful for a switch with many PCie Device.

Message Signal Interrupts (MSI) are also not supported.

Can someone tell me if the PCIe code was fully tested?

Does someone know a customer that used successfully a PCIe Switch (like PI7C9X2G303EL-EVB) on 3.10.17

Is there some Patches already under Test to support this?

Best regards / Mit freundlichen Grüßen

Rodrigue

1 Solution
5,333 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
17 Replies
5,334 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!
0 Kudos
5,347 Views
vidyasagartata
Contributor II

Dear Richard,

Do you have any patch file for p2041 devices to handle INTB/INTC/INTD.

Thanks,

Vidya

0 Kudos
5,347 Views
richard_zhu
NXP Employee
NXP Employee

Hi Vidya:

Sorry, I don't have one patch file for p2041 devices.

The patch " ENGR00288406 pcie: imx: enable pcie switch support " is used to handle the INTB/C/D, and verified on one Pericom's pcie switch.

Richard.

0 Kudos
5,347 Views
vidyasagartata
Contributor II

Dear Richard,

" ENGR00288406 pcie: imx: enable pcie switch support " for arm platform, does not support powerpc.

Please confirm, is this a kernel bug, any plan to fix this bug many people are facing same issue.

Thanks & Regards,

Vidya Sagar Pd

0 Kudos
5,347 Views
pev
Contributor I

Hi - I suspect I had a related problem. I was running the 3.0.35 kernel for our board that uses a intel 82574 NIC off the PCIe and was working OK. I've been ported our bsp up to 3.10.17 (via the freescale community BSP / Yocto daisy release) and it won't work now. The e1000e driver looks like it's talking to the hardware but won't run. It turns out that in 3.10.17 somehow the pci kconfig has lost the include for pcie :

http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/pci/Kconfig?h=imx_3.10.17_1...

so CONFIG_PCIEPORTBUS can never be set. (this looks to be the way in 3.10.31_1.1.0_alpha too) After I patched this my NIC started working with MSI interrupts etc... Could this be your problem too? Trivial patch shown below :

Index: git/drivers/pci/Kconfig

===================================================================

--- git.orig/drivers/pci/Kconfig

+++ git/drivers/pci/Kconfig

@@ -121,3 +121,4 @@ config PCI_LABEL

  select NLS

source "drivers/pci/host/Kconfig"

+source "drivers/pci/pcie/Kconfig"

0 Kudos
5,347 Views
wufood
Contributor I
Hello,

Where are the patchs??

I have same problem with imx6q and PI7C9X2G3.4SL(pericom's pcie switch).

Kernel 3.0.35

Best regards

Re: PCIe with PCIe Switch PI7C9X2G303EL or PLX8603 with 3.10.17_1.0.0_ga

Hongxing ZhuEmployee

One pericom switch had been tested on imx3.10.17 1.0 ga release.

From 65e8b2c472bd1270f5811e07362e8f0fda62225f Mon Sep 17 00:00:00 2001

From: Richard Zhu <r65037@freescale.com>

Date: Wed, 13 Nov 2013 16:42:06 +0800

Subject: [PATCH] ENGR00288406 pcie: imx: enable pcie switch support

Fix the pcie switch no detection issue

Root cause why the switch can't be detected before:

* The initialization sequence is not properly, 100ms reset

should be just issue before ltssm enable.

* Lagency INTx mapping is wrong

* remove un-correct IO/MEM iATU outbound mapping.

Signed-off-by: Richard Zhu <r65037@freescale.com>

---

drivers/pci/host/pci-imx6.c        |   27 ++++-------------

drivers/pci/host/pcie-designware.c |   56 ++++-------------------------------

Best  Regards

Richard

0 Kudos
5,347 Views
vidyasagartata
Contributor II

Dear Richard,

I am using pericom switch in P2041RDB-PC and facing issue Disabling IRQ#17.

Please find the log below:

** Testing Device Number 0  **

__LINE__237
__LINE__243 ffffffff__LINE__279 ffffffff
__LINE__316__LINE__324
__LINE__330__LINE__375irq 17: nobody cared (try booting with the "irqpoll"
option)
CPU: 2 PID: 0 Comm: swapper/2 Tainted: G           O 3.12.37-rt51 #10
Call Trace:

[effcbee0] [c0006f40] show_stack+0x40/0x150 (unreliable)
[effcbf20] [c06092d8] dump_stack+0x78/0xa0
[effcbf30] [c0076424] __report_bad_irq+0x34/0xf0
[effcbf50] [c0076a0c] note_interrupt+0x24c/0x310
[effcbf80] [c0073ebc] handle_irq_event_percpu+0x16c/0x210
[effcbfc0] [c0073fa0] handle_irq_event+0x40/0x70
[effcbfd0] [c0077aa0] handle_fasteoi_irq+0xd0/0x190
[effcbfe0] [c0004568] __do_irq+0x48/0x90
[effcbff0] [c000e010] call_do_irq+0x24/0x3c
[e90bde90] [c000463c] do_IRQ+0x8c/0x110
[e90bdeb0] [c0010370] ret_from_except+0x0/0x18
--- Exception: 501 at arch_cpu_idle+0x24/0x70
    LR = arch_cpu_idle+0x24/0x70
[e90bdf70] [c009d358] rcu_idle_enter+0xb8/0x100 (unreliable)
[e90bdf80] [c00731c0] cpu_startup_entry+0x120/0x170
[e90bdfb0] [c0011cfc] start_secondary+0x24c/0x260
[e90bdff0] [c0001d38] __secondary_start+0x30/0x84
handlers:
[<f95d2080>] emapci_isr [emapci]
Disabling IRQ #17

Message from syslogd@p2041rdb at Thu Apr 13 13:16:17 2017 ...
p2041rdb kernel: Disabling IRQ #17
Testing.....Registers Passed test.
Testing.....Ram Passed 1234 test.
Testing.....Ram Passed aaaa test.
Testing.....Ram Passed aa55 test.
Testing.....Ram Passed 55aa test.
Testing.....Ram Passed 5555 test.
Testing.....Ram Passed ffff test.
Testing.....Ram Passed 1111 test.
Testing.....Ram Passed 8888 test.
Testing.....Ram Passed 0000 test.
Testing.....Interrupt Test Failure,  NO IRQ!!!
Testing.....Protocol Unit Passed test.
Testing.....Vector Test RTL Function Failure-> Invalid file.

Please let me know if any patch is available for p2041.

I tried to enable ENGR00288406 pcie: imx: enable pcie switch support (65e8b2c4) · Commits · ARM / qmx6_kernel · GitLab  patch but seeing drivers/pci/host/pcie-designware.c  file does not compile in yocto sdk1.9

Thanks,

Vidya

0 Kudos
5,347 Views
richard_zhu
NXP Employee
NXP Employee

Hi:
Unfortunately, there is no such kind patch for p2041, because that p2041 is not ever verified.

Regarding to the log, I don't know what's happen in your tests.

You should debug into the codes if you want to figure out the root cause of that failure.

Richard.

0 Kudos
5,347 Views
richard_zhu
NXP Employee
NXP Employee

One pericom switch had been tested on imx3.10.17 1.0 ga release.

From 65e8b2c472bd1270f5811e07362e8f0fda62225f Mon Sep 17 00:00:00 2001

From: Richard Zhu <r65037@freescale.com>

Date: Wed, 13 Nov 2013 16:42:06 +0800

Subject: [PATCH] ENGR00288406 pcie: imx: enable pcie switch support

Fix the pcie switch no detection issue

Root cause why the switch can't be detected before:

* The initialization sequence is not properly, 100ms reset

should be just issue before ltssm enable.

* Lagency INTx mapping is wrong

* remove un-correct IO/MEM iATU outbound mapping.

Signed-off-by: Richard Zhu <r65037@freescale.com>

---

drivers/pci/host/pci-imx6.c        |   27 ++++-------------

drivers/pci/host/pcie-designware.c |   56 ++++-------------------------------

Best  Regards

Richard

0 Kudos
5,347 Views
balashanmugam
Contributor III

Hi Zhu,

  we are also facing the same issue which reported in this thread. As per your suggestion how to correct the legacy interrupt mapping and how to remove un correct IO/MEMiATU outbound mapping. In our target we are using linux kernel 3.0.35, we unable to find the suggested files(driver/pci/host/pci-imx6.c and driver/pci/host/pcie-designware.c) in our linux kernel source (3.0.35). if you have any patch to solve this issue, can you please share it.

Seeking your help eagerly to solve the issue.

Regards

Bala

0 Kudos
5,347 Views
johnmartin
Contributor I

Hello,

Where are the patchs??

I have same problem with XIO3130 and imx6q.

Kernel imx_3.10.17_1.0.0_ga

Best regards

0 Kudos
5,347 Views
YixingKong
Senior Contributor IV

Hongxing

Could you keep following the customer's further questions please?

Thanks,

Yixing

0 Kudos
5,347 Views
Rodrigue
NXP Employee
NXP Employee

Hi Richard,

Ok, detection is working.

But did you check with many PCIe Devices? Is it really possible to connect several of them on the Pericom PCIe Switch?

Best regards,

Rodrigue

0 Kudos
5,347 Views
richard_zhu
NXP Employee
NXP Employee

Yes, As I remember that I connect two devices(one is e1000 nic, the other one is xhci device) to the pericom pcie switch.

Best Regards

Richard

0 Kudos
5,347 Views
richard_zhu
NXP Employee
NXP Employee

Yes, As I remember that I connect two devices(one is e1000 nic, the other one is xhci device) to the pericom pcie switch.

Best Regards

Richard

0 Kudos
5,347 Views
b47504
NXP Employee
NXP Employee

Hello richard.zhu,

I do not have one switch in my hand,  can you help on this and share the information to us?  Thanks!

Best Regards,


0 Kudos
5,347 Views
YixingKong
Senior Contributor IV

b47504, could you please take care of this PCI issue?
Thanks,

Yixing

0 Kudos