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.