mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
PCI: rockchip: dw: Don't de-init driver in signal test mode
Change-Id: I0e98b334cd488cc44ece9719ca8f6bab2a06ea99 Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
This commit is contained in:
@@ -130,6 +130,7 @@ struct rk_pcie {
|
||||
struct dma_trx_obj *dma_obj;
|
||||
bool in_suspend;
|
||||
bool is_rk1808;
|
||||
bool is_signal_test;
|
||||
bool bifurcation;
|
||||
struct regulator *vpcie3v3;
|
||||
};
|
||||
@@ -468,7 +469,7 @@ static int rk_pcie_establish_link(struct dw_pcie *pci)
|
||||
|
||||
dev_err(pci->dev, "PCIe Link Fail\n");
|
||||
|
||||
return -EINVAL;
|
||||
return rk_pcie->is_signal_test == true ? 0 : -EINVAL;
|
||||
}
|
||||
|
||||
static int rk_pcie_host_init_dma_trx(struct rk_pcie *rk_pcie)
|
||||
@@ -1211,6 +1212,7 @@ static int rk_pcie_really_probe(void *p)
|
||||
val = dw_pcie_readl_dbi(pci, PCIE_PORT_LINK_CONTROL);
|
||||
val |= PORT_LINK_LPBK_ENABLE;
|
||||
dw_pcie_writel_dbi(pci, PCIE_PORT_LINK_CONTROL, val);
|
||||
rk_pcie->is_signal_test = true;
|
||||
}
|
||||
|
||||
/* Force into compliance mode */
|
||||
@@ -1218,6 +1220,7 @@ static int rk_pcie_really_probe(void *p)
|
||||
val = dw_pcie_readl_dbi(pci, PCIE_CAP_LINK_CONTROL2_LINK_STATUS);
|
||||
val |= BIT(4);
|
||||
dw_pcie_writel_dbi(pci, PCIE_CAP_LINK_CONTROL2_LINK_STATUS, val);
|
||||
rk_pcie->is_signal_test = true;
|
||||
}
|
||||
|
||||
switch (rk_pcie->mode) {
|
||||
@@ -1229,6 +1232,9 @@ static int rk_pcie_really_probe(void *p)
|
||||
break;
|
||||
}
|
||||
|
||||
if (rk_pcie->is_signal_test == true)
|
||||
return 0;
|
||||
|
||||
if (ret)
|
||||
goto deinit_clk;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user