From: Vidya Sagar <vidyas@nvidia.com>
To: <jingoohan1@gmail.com>, <gustavo.pimentel@synopsys.com>,
<lpieralisi@kernel.org>, <robh@kernel.org>, <kw@linux.com>,
<bhelgaas@google.com>, <mani@kernel.org>,
<Sergey.Semin@baikalelectronics.ru>,
<dmitry.baryshkov@linaro.org>, <linmq006@gmail.com>,
<ffclaire1224@gmail.com>
Cc: <thierry.reding@gmail.com>, <jonathanh@nvidia.com>,
<linux-pci@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <kthota@nvidia.com>,
<mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
<sagar.tv@gmail.com>
Subject: [PATCH V5 2/3] PCI: qcom-ep: Refactor EP initialization completion
Date: Thu, 13 Oct 2022 23:27:11 +0530 [thread overview]
Message-ID: <20221013175712.7539-3-vidyas@nvidia.com> (raw)
In-Reply-To: <20221013175712.7539-1-vidyas@nvidia.com>
Move the post initialization code to .ep_init_late() call back and call
only dw_pcie_ep_init_notify() which internally takes care of calling
dw_pcie_ep_init_complete().
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
---
V5:
* None
V4:
* New patch in this series
drivers/pci/controller/dwc/pcie-qcom-ep.c | 27 ++++++++++++++---------
1 file changed, 16 insertions(+), 11 deletions(-)
diff --git a/drivers/pci/controller/dwc/pcie-qcom-ep.c b/drivers/pci/controller/dwc/pcie-qcom-ep.c
index e33eb3871309..c418b20042aa 100644
--- a/drivers/pci/controller/dwc/pcie-qcom-ep.c
+++ b/drivers/pci/controller/dwc/pcie-qcom-ep.c
@@ -361,22 +361,12 @@ static int qcom_pcie_perst_deassert(struct dw_pcie *pci)
PARF_INT_ALL_LINK_UP;
writel_relaxed(val, pcie_ep->parf + PARF_INT_ALL_MASK);
- ret = dw_pcie_ep_init_complete(&pcie_ep->pci.ep);
+ ret = dw_pcie_ep_init_notify(&pcie_ep->pci.ep);
if (ret) {
dev_err(dev, "Failed to complete initialization: %d\n", ret);
goto err_disable_resources;
}
- /*
- * The physical address of the MMIO region which is exposed as the BAR
- * should be written to MHI BASE registers.
- */
- writel_relaxed(pcie_ep->mmio_res->start,
- pcie_ep->parf + PARF_MHI_BASE_ADDR_LOWER);
- writel_relaxed(0, pcie_ep->parf + PARF_MHI_BASE_ADDR_UPPER);
-
- dw_pcie_ep_init_notify(&pcie_ep->pci.ep);
-
/* Enable LTSSM */
val = readl_relaxed(pcie_ep->parf + PARF_LTSSM);
val |= BIT(8);
@@ -643,8 +633,23 @@ static void qcom_pcie_ep_init(struct dw_pcie_ep *ep)
dw_pcie_ep_reset_bar(pci, bar);
}
+static void qcom_pcie_ep_init_late(struct dw_pcie_ep *ep)
+{
+ struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
+ struct qcom_pcie_ep *pcie_ep = to_pcie_ep(pci);
+
+ /*
+ * The physical address of the MMIO region which is exposed as the BAR
+ * should be written to MHI BASE registers.
+ */
+ writel_relaxed(pcie_ep->mmio_res->start,
+ pcie_ep->parf + PARF_MHI_BASE_ADDR_LOWER);
+ writel_relaxed(0, pcie_ep->parf + PARF_MHI_BASE_ADDR_UPPER);
+}
+
static const struct dw_pcie_ep_ops pci_ep_ops = {
.ep_init = qcom_pcie_ep_init,
+ .ep_init_late = qcom_pcie_ep_init_late,
.raise_irq = qcom_pcie_ep_raise_irq,
.get_features = qcom_pcie_epc_get_features,
};
--
2.17.1
next prev parent reply other threads:[~2022-10-13 18:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-13 17:57 [PATCH V5 0/3] PCI: designware-ep: Fix DBI access before core init Vidya Sagar
2022-10-13 17:57 ` [PATCH V5 1/3] " Vidya Sagar
2022-10-15 22:00 ` Han Jingoo
2022-10-26 5:10 ` Manivannan Sadhasivam
2022-10-13 17:57 ` Vidya Sagar [this message]
2022-10-26 5:30 ` [PATCH V5 2/3] PCI: qcom-ep: Refactor EP initialization completion Manivannan Sadhasivam
2022-10-13 17:57 ` [PATCH V5 3/3] PCI: tegra194: " Vidya Sagar
2022-10-14 6:10 ` [PATCH V5 0/3] PCI: designware-ep: Fix DBI access before core init Manivannan Sadhasivam
2023-02-14 13:03 ` Manivannan Sadhasivam
2023-02-14 13:57 ` Vidya Sagar
2023-03-07 15:18 ` Manivannan Sadhasivam
2023-05-15 7:40 ` Manivannan Sadhasivam
2023-08-25 12:38 ` Manivannan Sadhasivam
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=20221013175712.7539-3-vidyas@nvidia.com \
--to=vidyas@nvidia.com \
--cc=Sergey.Semin@baikalelectronics.ru \
--cc=bhelgaas@google.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=ffclaire1224@gmail.com \
--cc=gustavo.pimentel@synopsys.com \
--cc=jingoohan1@gmail.com \
--cc=jonathanh@nvidia.com \
--cc=kthota@nvidia.com \
--cc=kw@linux.com \
--cc=linmq006@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=mmaddireddy@nvidia.com \
--cc=robh@kernel.org \
--cc=sagar.tv@gmail.com \
--cc=thierry.reding@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).