diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2016-03-15 08:55:52 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-03-15 08:55:52 -0500 |
commit | 562df5c8521e1371f3cbd0b7b868034da376d714 (patch) | |
tree | 798a5b2f688a60307889c632a20e32aae65d51fa /drivers/pci/host/pci-keystone.c | |
parent | c334f9c89e40d2c9f4598e87e186bf3264d39e51 (diff) | |
parent | 5a3aa2a8fae4ce1a3ad786d212b8fffca8ee72f5 (diff) |
Merge branch 'pci/host-designware' into next
* pci/host-designware:
PCI: designware: Add driver for prototyping kits based on ARC SDP
PCI: designware: Add default link up check if sub-driver doesn't override
PCI: designware: Add generic dw_pcie_wait_for_link()
ARC: Add PCI support
Diffstat (limited to 'drivers/pci/host/pci-keystone.c')
-rw-r--r-- | drivers/pci/host/pci-keystone.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c index cd7034523f52..b71f55bb0315 100644 --- a/drivers/pci/host/pci-keystone.c +++ b/drivers/pci/host/pci-keystone.c @@ -97,17 +97,15 @@ static int ks_pcie_establish_link(struct keystone_pcie *ks_pcie) return 0; } - ks_dw_pcie_initiate_link_train(ks_pcie); /* check if the link is up or not */ - for (retries = 0; retries < 200; retries++) { - if (dw_pcie_link_up(pp)) - return 0; - usleep_range(100, 1000); + for (retries = 0; retries < 5; retries++) { ks_dw_pcie_initiate_link_train(ks_pcie); + if (!dw_pcie_wait_for_link(pp)) + return 0; } dev_err(pp->dev, "phy link never came up\n"); - return -EINVAL; + return -ETIMEDOUT; } static void ks_pcie_msi_irq_handler(struct irq_desc *desc) |