From a9dc721bd6c8ab996b2f36a35fc94477837382af Mon Sep 17 00:00:00 2001 From: amazingfate Date: Fri, 8 Nov 2024 16:56:44 +0800 Subject: [PATCH] PCI: rockchip: add devicetree property rockchip,default-link-up --- drivers/pci/controller/dwc/pcie-dw-rockchip.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c index 6d96f37c51b7..f3d04e9a0913 100644 --- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c +++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c @@ -931,6 +931,10 @@ static const struct dw_pcie_ops dw_pcie_ops = { .link_up = rk_pcie_link_up, }; +static const struct dw_pcie_ops dw_pcie_ops_default_link_up = { + .start_link = rk_pcie_establish_link, +}; + static void rk_pcie_fast_link_setup(struct rk_pcie *rk_pcie) { u32 val; @@ -1629,7 +1633,12 @@ static int rk_pcie_really_probe(void *p) rk_pcie->msi_vector_num = data ? data->msi_vector_num : 0; rk_pcie->intx = 0xffffffff; pci->dev = dev; - pci->ops = &dw_pcie_ops; + if (device_property_read_bool(dev, "rockchip,default-link-up")) + { + dev_info(dev, "using pcie default link_up because of rockchip,default-link-up\n"); + pci->ops = &dw_pcie_ops_default_link_up; + } else + pci->ops = &dw_pcie_ops; platform_set_drvdata(pdev, rk_pcie); /* 3. firmware resource */