All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ansuel Smith <ansuelsmth@gmail.com>
To: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Abhishek Sahu <absahu@codeaurora.org>,
	Ansuel Smith <ansuelsmth@gmail.com>,
	Rob Herring <robh@kernel.org>, Andy Gross <agross@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Stanimir Varbanov <svarbanov@mm-sol.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Andrew Murray <amurray@thegoodpenguin.co.uk>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v4 03/10] PCI: qcom: Change duplicate PCI reset to phy reset
Date: Thu, 14 May 2020 22:07:04 +0200	[thread overview]
Message-ID: <20200514200712.12232-4-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20200514200712.12232-1-ansuelsmth@gmail.com>

From: Abhishek Sahu <absahu@codeaurora.org>

The deinit issues reset_control_assert for PCI twice and does not contain
phy reset.

Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 drivers/pci/controller/dwc/pcie-qcom.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index 4bf93ab8c7a7..4512c2c5f61c 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -280,14 +280,14 @@ static void qcom_pcie_deinit_2_1_0(struct qcom_pcie *pcie)
 {
 	struct qcom_pcie_resources_2_1_0 *res = &pcie->res.v2_1_0;
 
+	clk_disable_unprepare(res->phy_clk);
 	reset_control_assert(res->pci_reset);
 	reset_control_assert(res->axi_reset);
 	reset_control_assert(res->ahb_reset);
 	reset_control_assert(res->por_reset);
-	reset_control_assert(res->pci_reset);
+	reset_control_assert(res->phy_reset);
 	clk_disable_unprepare(res->iface_clk);
 	clk_disable_unprepare(res->core_clk);
-	clk_disable_unprepare(res->phy_clk);
 	clk_disable_unprepare(res->aux_clk);
 	clk_disable_unprepare(res->ref_clk);
 	regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies);
@@ -325,12 +325,6 @@ static int qcom_pcie_init_2_1_0(struct qcom_pcie *pcie)
 		goto err_clk_core;
 	}
 
-	ret = clk_prepare_enable(res->phy_clk);
-	if (ret) {
-		dev_err(dev, "cannot prepare/enable phy clock\n");
-		goto err_clk_phy;
-	}
-
 	ret = clk_prepare_enable(res->aux_clk);
 	if (ret) {
 		dev_err(dev, "cannot prepare/enable aux clock\n");
@@ -383,6 +377,12 @@ static int qcom_pcie_init_2_1_0(struct qcom_pcie *pcie)
 		return ret;
 	}
 
+	ret = clk_prepare_enable(res->phy_clk);
+	if (ret) {
+		dev_err(dev, "cannot prepare/enable phy clock\n");
+		goto err_deassert_ahb;
+	}
+
 	/* wait for clock acquisition */
 	usleep_range(1000, 1500);
 
@@ -400,8 +400,6 @@ static int qcom_pcie_init_2_1_0(struct qcom_pcie *pcie)
 err_clk_ref:
 	clk_disable_unprepare(res->aux_clk);
 err_clk_aux:
-	clk_disable_unprepare(res->phy_clk);
-err_clk_phy:
 	clk_disable_unprepare(res->core_clk);
 err_clk_core:
 	clk_disable_unprepare(res->iface_clk);
-- 
2.25.1


  parent reply	other threads:[~2020-05-14 20:07 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-14 20:07 [PATCH v4 00/10] Multiple fixes in PCIe qcom driver Ansuel Smith
2020-05-14 20:07 ` [PATCH v4 01/10] PCI: qcom: Add missing ipq806x clocks in PCIe driver Ansuel Smith
2020-06-01 20:56   ` Rob Herring
2020-05-14 20:07 ` [PATCH v4 02/10] dt-bindings: PCI: qcom: Add missing clks Ansuel Smith
2020-05-14 20:07 ` Ansuel Smith [this message]
2020-05-14 20:07 ` [PATCH v4 04/10] PCI: qcom: Add missing reset for ipq806x Ansuel Smith
2020-05-14 20:07 ` [PATCH v4 05/10] dt-bindings: PCI: qcom: Add ext reset Ansuel Smith
2020-05-14 20:07 ` [PATCH v4 06/10] PCI: qcom: Use bulk clk api and assert on error Ansuel Smith
2020-06-01 21:02   ` Rob Herring
2020-05-14 20:07 ` [PATCH v4 07/10] PCI: qcom: Define some PARF params needed for ipq8064 SoC Ansuel Smith
2020-05-19 11:49   ` Sasha Levin
2020-06-01 21:04   ` Rob Herring
2020-05-14 20:07 ` [PATCH v4 08/10] PCI: qcom: Add ipq8064 rev2 variant and set tx term offset Ansuel Smith
2020-06-01 21:08   ` Rob Herring
2020-06-02  9:34     ` R: " ansuelsmth
2020-06-02  7:53   ` Stanimir Varbanov
2020-06-02  9:31     ` R: " ansuelsmth
2020-05-14 20:07 ` [PATCH v4 09/10] dt-bindings: PCI: qcom: Add ipq8064 rev 2 variant Ansuel Smith
2020-05-14 20:07 ` [PATCH v4 10/10] PCI: qcom: Add Force GEN1 support Ansuel Smith
2020-06-01 21:10   ` Rob Herring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200514200712.12232-4-ansuelsmth@gmail.com \
    --to=ansuelsmth@gmail.com \
    --cc=absahu@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=amurray@thegoodpenguin.co.uk \
    --cc=bhelgaas@google.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=svarbanov@mm-sol.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.