• Joao Pinto's avatar
    PCI: designware: Add generic dw_pcie_wait_for_link() · 886bc5ce
    Joao Pinto authored
    Several DesignWare-based drivers (dra7xx, exynos, imx6, keystone, qcom, and
    spear13xx) had similar loops waiting for the link to come up.
    
    Add a generic dw_pcie_wait_for_link() for use by all these drivers so the
    waiting is done consistently, e.g., always using usleep_range() rather than
    mdelay() and using similar timeouts and retry counts.
    
    Note that this changes the Keystone link training/wait for link strategy,
    so we initiate link training, then wait longer for the link to come up
    before re-initiating link training.
    
    [bhelgaas: changelog, split into its own patch, update pci-keystone.c, pcie-qcom.c]
    Signed-off-by: default avatarJoao Pinto <jpinto@synopsys.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Acked-by: default avatarPratyush Anand <pratyush.anand@gmail.com>
    886bc5ce
pcie-designware.c 20.2 KB