Skip to content

Commit affac98

Browse files
lumagbjorn-helgaas
authored andcommitted
PCI: qcom: Remove unnecessary pipe_clk handling
PCIe PHY drivers (both QMP and PCIe2) already do clk_prepare_enable() / clk_prepare_disable() pipe_clk. Remove extra calls to enable/disable this clock from the PCIe driver, so that the PHY driver can manage the clock on its own. [bhelgaas: rebase on Robert Marko's DBI cleanup: https://lore.kernel.org/r/20220623155004.688090-2-robimarko@gmail.com] Link: https://lore.kernel.org/r/20220608105238.2973600-5-dmitry.baryshkov@linaro.org Tested-by: Johan Hovold <johan+linaro@kernel.org> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
1 parent 36d9018 commit affac98

1 file changed

Lines changed: 3 additions & 34 deletions

File tree

drivers/pci/controller/dwc/pcie-qcom.c

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ struct qcom_pcie_resources_2_3_2 {
128128
struct clk *master_clk;
129129
struct clk *slave_clk;
130130
struct clk *cfg_clk;
131-
struct clk *pipe_clk;
132131
struct regulator_bulk_data supplies[QCOM_PCIE_2_3_2_MAX_SUPPLY];
133132
};
134133

@@ -165,7 +164,6 @@ struct qcom_pcie_resources_2_7_0 {
165164
int num_clks;
166165
struct regulator_bulk_data supplies[2];
167166
struct reset_control *pci_reset;
168-
struct clk *pipe_clk;
169167
struct clk *pipe_clk_src;
170168
struct clk *phy_pipe_clk;
171169
struct clk *ref_clk_src;
@@ -608,8 +606,7 @@ static int qcom_pcie_get_resources_2_3_2(struct qcom_pcie *pcie)
608606
if (IS_ERR(res->slave_clk))
609607
return PTR_ERR(res->slave_clk);
610608

611-
res->pipe_clk = devm_clk_get(dev, "pipe");
612-
return PTR_ERR_OR_ZERO(res->pipe_clk);
609+
return 0;
613610
}
614611

615612
static void qcom_pcie_deinit_2_3_2(struct qcom_pcie *pcie)
@@ -624,13 +621,6 @@ static void qcom_pcie_deinit_2_3_2(struct qcom_pcie *pcie)
624621
regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies);
625622
}
626623

627-
static void qcom_pcie_post_deinit_2_3_2(struct qcom_pcie *pcie)
628-
{
629-
struct qcom_pcie_resources_2_3_2 *res = &pcie->res.v2_3_2;
630-
631-
clk_disable_unprepare(res->pipe_clk);
632-
}
633-
634624
static int qcom_pcie_init_2_3_2(struct qcom_pcie *pcie)
635625
{
636626
struct qcom_pcie_resources_2_3_2 *res = &pcie->res.v2_3_2;
@@ -685,11 +675,7 @@ static int qcom_pcie_init_2_3_2(struct qcom_pcie *pcie)
685675

686676
static int qcom_pcie_post_init_2_3_2(struct qcom_pcie *pcie)
687677
{
688-
struct qcom_pcie_resources_2_3_2 *res = &pcie->res.v2_3_2;
689-
struct dw_pcie *pci = pcie->pci;
690-
struct device *dev = pci->dev;
691678
u32 val;
692-
int ret;
693679

694680
/* enable PCIe clocks and resets */
695681
val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL);
@@ -712,12 +698,6 @@ static int qcom_pcie_post_init_2_3_2(struct qcom_pcie *pcie)
712698
val |= BIT(31);
713699
writel(val, pcie->parf + PCIE20_PARF_AXI_MSTR_WR_ADDR_HALT_V2);
714700

715-
ret = clk_prepare_enable(res->pipe_clk);
716-
if (ret) {
717-
dev_err(dev, "cannot prepare/enable pipe clock\n");
718-
return ret;
719-
}
720-
721701
return 0;
722702
}
723703

@@ -1222,8 +1202,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie)
12221202
return PTR_ERR(res->ref_clk_src);
12231203
}
12241204

1225-
res->pipe_clk = devm_clk_get(dev, "pipe");
1226-
return PTR_ERR_OR_ZERO(res->pipe_clk);
1205+
return 0;
12271206
}
12281207

12291208
static int qcom_pcie_init_2_7_0(struct qcom_pcie *pcie)
@@ -1316,14 +1295,7 @@ static int qcom_pcie_post_init_2_7_0(struct qcom_pcie *pcie)
13161295
if (pcie->cfg->pipe_clk_need_muxing)
13171296
clk_set_parent(res->pipe_clk_src, res->phy_pipe_clk);
13181297

1319-
return clk_prepare_enable(res->pipe_clk);
1320-
}
1321-
1322-
static void qcom_pcie_post_deinit_2_7_0(struct qcom_pcie *pcie)
1323-
{
1324-
struct qcom_pcie_resources_2_7_0 *res = &pcie->res.v2_7_0;
1325-
1326-
clk_disable_unprepare(res->pipe_clk);
1298+
return 0;
13271299
}
13281300

13291301
static int qcom_pcie_link_up(struct dw_pcie *pci)
@@ -1477,7 +1449,6 @@ static const struct qcom_pcie_ops ops_2_3_2 = {
14771449
.init = qcom_pcie_init_2_3_2,
14781450
.post_init = qcom_pcie_post_init_2_3_2,
14791451
.deinit = qcom_pcie_deinit_2_3_2,
1480-
.post_deinit = qcom_pcie_post_deinit_2_3_2,
14811452
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
14821453
};
14831454

@@ -1506,7 +1477,6 @@ static const struct qcom_pcie_ops ops_2_7_0 = {
15061477
.deinit = qcom_pcie_deinit_2_7_0,
15071478
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
15081479
.post_init = qcom_pcie_post_init_2_7_0,
1509-
.post_deinit = qcom_pcie_post_deinit_2_7_0,
15101480
};
15111481

15121482
/* Qcom IP rev.: 1.9.0 */
@@ -1516,7 +1486,6 @@ static const struct qcom_pcie_ops ops_1_9_0 = {
15161486
.deinit = qcom_pcie_deinit_2_7_0,
15171487
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
15181488
.post_init = qcom_pcie_post_init_2_7_0,
1519-
.post_deinit = qcom_pcie_post_deinit_2_7_0,
15201489
.config_sid = qcom_pcie_config_sid_sm8250,
15211490
};
15221491

0 commit comments

Comments
 (0)