PCI: layerscape: Factor out ls_pcie_establish_link()
All other DesignWare-based drivers have a *_establish_link() function. This functionality is trivial for Layerscape, but factor out a ls_pcie_establish_link() for consistency with the other drivers. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Pratyush Anand <pratyush.anand@gmail.com>
This commit is contained in:
parent
1200edcbdd
commit
1d3f9bac71
1 changed files with 13 additions and 6 deletions
|
@ -62,23 +62,30 @@ static int ls_pcie_link_up(struct pcie_port *pp)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ls_pcie_host_init(struct pcie_port *pp)
|
static int ls_pcie_establish_link(struct pcie_port *pp)
|
||||||
{
|
{
|
||||||
struct ls_pcie *pcie = to_ls_pcie(pp);
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
u32 val;
|
|
||||||
|
|
||||||
dw_pcie_setup_rc(pp);
|
|
||||||
|
|
||||||
while (!dw_pcie_link_up(pp)) {
|
while (!dw_pcie_link_up(pp)) {
|
||||||
usleep_range(100, 1000);
|
usleep_range(100, 1000);
|
||||||
count++;
|
count++;
|
||||||
if (count >= 200) {
|
if (count >= 200) {
|
||||||
dev_err(pp->dev, "phy link never came up\n");
|
dev_err(pp->dev, "phy link never came up\n");
|
||||||
return;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void ls_pcie_host_init(struct pcie_port *pp)
|
||||||
|
{
|
||||||
|
struct ls_pcie *pcie = to_ls_pcie(pp);
|
||||||
|
u32 val;
|
||||||
|
|
||||||
|
dw_pcie_setup_rc(pp);
|
||||||
|
ls_pcie_establish_link(pp);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LS1021A Workaround for internal TKT228622
|
* LS1021A Workaround for internal TKT228622
|
||||||
* to fix the INTx hang issue
|
* to fix the INTx hang issue
|
||||||
|
|
Loading…
Reference in a new issue