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
已解决! 转到解答。
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.
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
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 :
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"
Where are the patchs??
I have same problem with imx6q and PI7C9X2G3.4SL(pericom's pcie switch).
Kernel 3.0.35
Best regards
richard.zhu 2014-6-10 下午11:37 (回复 Rodrigue Simonneau)
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
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
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.
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
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
Hello,
Where are the patchs??
I have same problem with XIO3130 and imx6q.
Kernel imx_3.10.17_1.0.0_ga
Best regards