Thread (67 messages) 67 messages, 4 authors, 2019-07-05

RE: [PATCHv5 17/20] PCI: mobiveil: Complete initialization of host even if no PCIe link

From: "Z.q. Hou" <zhiqiang.hou@nxp.com>
Date: 2019-06-15 02:34:51
Also in: linux-devicetree, linux-pci, lkml

Hi Lorenzo,
-----Original Message-----
From: Lorenzo Pieralisi [mailto:lorenzo.pieralisi@arm.com]
Sent: 2019年6月12日 22:35
To: Z.q. Hou <zhiqiang.hou@nxp.com>
Cc: linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
devicetree@vger.kernel.org; linux-kernel@vger.kernel.org;
bhelgaas@google.com; robh+dt@kernel.org; mark.rutland@arm.com;
l.subrahmanya@mobiveil.co.in; shawnguo@kernel.org; Leo Li
[off-list ref]; catalin.marinas@arm.com; will.deacon@arm.com;
Mingkai Hu [off-list ref]; M.h. Lian [off-list ref];
Xiaowei Bao [off-list ref]
Subject: Re: [PATCHv5 17/20] PCI: mobiveil: Complete initialization of host
even if no PCIe link

On Fri, Apr 12, 2019 at 08:36:54AM +0000, Z.q. Hou wrote:
quoted
From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>

Sometimes there is not a PCIe Endpoint stalled in the slot, so do not
exit when the PCIe link is not up. And degrade the print level of link
up info.
So what's the point of probing if the link does not initialize ?
A simple case is plug in a PCIe device after the Linux boot up, then rescan the device.
If exit when PCIe link is not up, the PCIe controller is not initialized completely, the
rescan cannot work.

Thanks,
Zhiqiang
Lorenzo
quoted
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Minghuan Lian <Minghuan.Lian@nxp.com>
Reviewed-by: Subrahmanya Lingappa <redacted>
---
V5:
 - Corrected and retouched the subject and changelog.

 drivers/pci/controller/pcie-mobiveil.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/pci/controller/pcie-mobiveil.c
b/drivers/pci/controller/pcie-mobiveil.c
index 1ee3ea2570c0..8dc87c7a600e 100644
--- a/drivers/pci/controller/pcie-mobiveil.c
+++ b/drivers/pci/controller/pcie-mobiveil.c
@@ -560,7 +560,7 @@ static int mobiveil_bringup_link(struct
mobiveil_pcie *pcie)
quoted
 		usleep_range(LINK_WAIT_MIN, LINK_WAIT_MAX);
 	}

-	dev_err(&pcie->pdev->dev, "link never came up\n");
+	dev_info(&pcie->pdev->dev, "link never came up\n");

 	return -ETIMEDOUT;
 }
@@ -926,10 +926,8 @@ static int mobiveil_pcie_probe(struct
platform_device *pdev)
quoted
 	bridge->swizzle_irq = pci_common_swizzle;

 	ret = mobiveil_bringup_link(pcie);
-	if (ret) {
+	if (ret)
 		dev_info(dev, "link bring-up failed\n");
-		goto error;
-	}

 	/* setup the kernel resources for the newly added PCIe root bus */
 	ret = pci_scan_root_bus_bridge(bridge);
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help