Skip to contentSkip to conversation

PCI: qcom: Fix pipe clock imbalance

PATCH Applied Johan Hovold 3 participants 3 messages Apr 1, 2022 – Apr 13, 2022

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 PCI: qcom: Fix pipe clock imbalance

Commit ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller") introduced a clock imbalance by enabling the pipe clock both in init() and in post_init() but only disabling in post_deinit().

Note that the pipe clock was also never disabled in the init() error paths and that enabling the clock before powering up the PHY looks questionable.

Fixes ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller")
Cc Bjorn Andersson <[email protected]>

---

Changes in v2
- Capitalise "Fix" in subject line according to PCI subsystem convention

 drivers/pci/controller/dwc/pcie-qcom.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/pci/controller/dwc/pcie-qcom.c +0 -6
index b79d98e5e228..20a0e6533a1c 100644
@@ -1238,12 +1238,6 @@ static int qcom_pcie_init_2_7_0(struct qcom_pcie *pcie)
 		goto err_disable_clocks;
 	}
 
-	ret = clk_prepare_enable(res->pipe_clk);
-	if (ret) {
-		dev_err(dev, "cannot prepare/enable pipe clock\n");
-		goto err_disable_clocks;
-	}
-
 	/* Wait for reset to complete, required on SM8450 */
 	usleep_range(1000, 1500);
 
Signature · 1 line
2.35.1
Reviewed-by on v2 1/1
#1 lore raw
Quoted 11 lines · Johan Hovold

Commit ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller") introduced a clock imbalance by enabling the pipe clock both in init() and in post_init() but only disabling in post_deinit().

Note that the pipe clock was also never disabled in the init() error paths and that enabling the clock before powering up the PHY looks questionable.

Fixes ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller")
Cc Bjorn Andersson <[email protected]>
Quoted 31 lines

---

Changes in v2
- Capitalise "Fix" in subject line according to PCI subsystem convention

 drivers/pci/controller/dwc/pcie-qcom.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/pci/controller/dwc/pcie-qcom.c +0 -6
index b79d98e5e228..20a0e6533a1c 100644
@@ -1238,12 +1238,6 @@ static int qcom_pcie_init_2_7_0(struct qcom_pcie *pcie)
 		goto err_disable_clocks;
 	}
 
-	ret = clk_prepare_enable(res->pipe_clk);
-	if (ret) {
-		dev_err(dev, "cannot prepare/enable pipe clock\n");
-		goto err_disable_clocks;
-	}
-
 	/* Wait for reset to complete, required on SM8450 */
 	usleep_range(1000, 1500);
 
Signature · 1 line
2.35.1
#2 lore raw
In reply to Johan Hovold
Quoted 9 lines · Johan Hovold

Commit ed8cc3b1fc84 ("PCI: qcom: Add support for SDM845 PCIe controller") introduced a clock imbalance by enabling the pipe clock both in init() and in post_init() but only disabling in post_deinit().

Note that the pipe clock was also never disabled in the init() error paths and that enabling the clock before powering up the PHY looks questionable.

[...]

Applied to pci/qcom, thanks!

[1/1] PCI: qcom: Fix pipe clock imbalance

      https://git.kernel.org/lpieralisi/pci/c/dcd9011f59

Thanks,
Lorenzo