PCI: imx6: Wait for retraining
This patch handles the case where the PCIe link is up and running, yet drops into the LTSSM training mode. The link spends short time in the LTSSM training mode, but the current code can misinterpret it as the link being stalled. Waiting for the LTSSM training to complete fixes the issue. Quoting Sascha: This is broken since commit 7f9f40c0 ('PCI: imx6: Report "link up" only after link training completes'). The designware driver changes the PORT_LOGIC_SPEED_CHANGE bit in dw_pcie_host_init() which causes the link to be retrained. During the next call to dw_pcie_rd_conf() the link is then reported being down and the function returns PCIBIOS_DEVICE_NOT_FOUND resulting in nonfunctioning PCIe. Fixes: 7f9f40c0 (PCI: imx6: Report "link up" only after link training completes) Tested-by: NTroy Kisky <troy.kisky@boundarydevices.com> Tested-by: NSascha Hauer <s.hauer@pengutronix.de> Signed-off-by: NMarek Vasut <marex@denx.de> Signed-off-by: NTroy Kisky <troy.kisky@boundarydevices.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com> Acked-by: NShawn Guo <shawn.guo@linaro.org>
Showing
想要评论请 注册 或 登录