]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00239905 PCIe Enable PCIe switch support
authorRichard Zhu <r65037@freescale.com>
Mon, 7 Jan 2013 05:26:03 +0000 (13:26 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:51 +0000 (08:35 +0200)
commit2dcd3fef6a6b9dcba8b866bd5b71e9a9dfa22ac3
treec6f3464db078a13783ca5430c8e724a75d70b030
parent93b521656ed068c15505314b36159f383c8128f1
ENGR00239905 PCIe Enable PCIe switch support

PCIe switch access mechanism:
 - CfgRd0/CfgWr0 is used to access the CFG space of the EP device
 or the upstream port of PCIe switch that is connected to RC directly.
 - CfgRd1/CfgWr1 is used to access the CFG space of the downstream port
 of PCIe switch and so on cases.

UR and kernel crash problem:
i.MX6 PCIe maps UR(Unsupported Request)err to AXI SLVERR err, which would
cause the arm data abort exception.
There is one "Received Master Abort" in iMX6 Root complex Secondary
status register when a requester receives a Completion
with Unsupported Request Completion Status.
In this case, the Linux kernel would be crashed.

Workaround: correct this imprecise external abort.

Signed-off-by: Richard Zhu <r65037@freescale.com>
arch/arm/mach-mx6/pcie.c