From: Niklas Cassel <cassel@kernel•org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro•org>
Cc: "Krzysztof Wilczyński" <kw@linux•com>,
"Vignesh Raghavendra" <vigneshr@ti•com>,
"Kunihiko Hayashi" <hayashi.kunihiko@socionext•com>,
linux-pci@vger•kernel.org,
"Lorenzo Pieralisi" <lpieralisi@kernel•org>,
"Minghuan Lian" <minghuan.Lian@nxp•com>,
"Thierry Reding" <thierry.reding@gmail•com>,
"Kishon Vijay Abraham I" <kishon@ti•com>,
"Fabio Estevam" <festevam@gmail•com>,
"Marek Vasut" <marek.vasut+renesas@gmail•com>,
"Kishon Vijay Abraham I" <kishon@kernel•org>,
"Rob Herring" <robh@kernel•org>,
"Jesper Nilsson" <jesper.nilsson@axis•com>,
linux-tegra@vger•kernel.org, linux-arm-kernel@axis•com,
"Jonathan Hunter" <jonathanh@nvidia•com>,
"NXP Linux Team" <linux-imx@nxp•com>,
"Richard Zhu" <hongxing.zhu@nxp•com>,
"Srikanth Thokala" <srikanth.thokala@intel•com>,
linux-arm-msm@vger•kernel.org,
"Sascha Hauer" <s.hauer@pengutronix•de>,
linuxppc-dev@lists•ozlabs.org,
"Bjorn Helgaas" <bhelgaas@google•com>,
linux-omap@vger•kernel.org, "Mingkai Hu" <mingkai.hu@nxp•com>,
linux-arm-kernel@lists•infradead.org,
"Roy Zang" <roy.zang@nxp•com>,
"Jingoo Han" <jingoohan1@gmail•com>,
"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas•com>,
linux-kernel@vger•kernel.org, "Vidya Sagar" <vidyas@nvidia•com>,
linux-renesas-soc@vger•kernel.org,
"Masami Hiramatsu" <mhiramat@kernel•org>,
"Pengutronix Kernel Team" <kernel@pengutronix•de>,
"Gustavo Pimentel" <gustavo.pimentel@synopsys•com>,
"Shawn Guo" <shawnguo@kernel•org>,
"Lucas Stach" <l.stach@pengutronix•de>
Subject: Re: [PATCH v9 06/10] PCI: dwc: ep: Call dw_pcie_ep_init_registers() API directly from all glue drivers
Date: Thu, 7 Mar 2024 21:36:56 +0100 [thread overview]
Message-ID: <ZeolaEIRYmKZjnvT@ryzen> (raw)
In-Reply-To: <20240304-pci-dbi-rework-v9-6-29d433d99cda@linaro.org>
On Mon, Mar 04, 2024 at 02:52:18PM +0530, Manivannan Sadhasivam wrote:
> Currently, dw_pcie_ep_init_registers() API is directly called by the glue
> drivers requiring active refclk from host. But for the other drivers, it is
> getting called implicitly by dw_pcie_ep_init(). This is due to the fact
> that this API initializes DWC EP specific registers and that requires an
> active refclk (either from host or generated locally by endpoint itsef).
>
> But, this causes a discrepancy among the glue drivers. So to avoid this
> confusion, let's call this API directly from all glue drivers irrespective
> of refclk dependency. Only difference here is that the drivers requiring
> refclk from host will call this API only after the refclk is received and
> other drivers without refclk dependency will call this API right after
> dw_pcie_ep_init().
>
> With this change, the check for 'core_init_notifier' flag can now be
> dropped from dw_pcie_ep_init() API. This will also allow us to remove the
> 'core_init_notifier' flag completely in the later commits.
>
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro•org>
> ---
> drivers/pci/controller/dwc/pci-dra7xx.c | 7 +++++++
> drivers/pci/controller/dwc/pci-imx6.c | 8 ++++++++
> drivers/pci/controller/dwc/pci-keystone.c | 9 +++++++++
> drivers/pci/controller/dwc/pci-layerscape-ep.c | 7 +++++++
> drivers/pci/controller/dwc/pcie-artpec6.c | 13 ++++++++++++-
> drivers/pci/controller/dwc/pcie-designware-ep.c | 22 ----------------------
> drivers/pci/controller/dwc/pcie-designware-plat.c | 9 +++++++++
> drivers/pci/controller/dwc/pcie-keembay.c | 16 +++++++++++++++-
> drivers/pci/controller/dwc/pcie-rcar-gen4.c | 12 +++++++++++-
> drivers/pci/controller/dwc/pcie-uniphier-ep.c | 13 ++++++++++++-
> 10 files changed, 90 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index 0e406677060d..395042b29ffc 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -467,6 +467,13 @@ static int dra7xx_add_pcie_ep(struct dra7xx_pcie *dra7xx,
> return ret;
> }
>
> + ret = dw_pcie_ep_init_registers(ep);
> + if (ret) {
Here you are using if (ret) to error check the return from
dw_pcie_ep_init_registers().
> index c0c62533a3f1..8392894ed286 100644
> --- a/drivers/pci/controller/dwc/pci-keystone.c
> +++ b/drivers/pci/controller/dwc/pci-keystone.c
> @@ -1286,6 +1286,13 @@ static int ks_pcie_probe(struct platform_device *pdev)
> ret = dw_pcie_ep_init(&pci->ep);
> if (ret < 0)
> goto err_get_sync;
> +
> + ret = dw_pcie_ep_init_registers(&pci->ep);
> + if (ret < 0) {
Here you are using if (ret < 0) to error check the return from
dw_pcie_ep_init_registers(). Please be consistent.
> diff --git a/drivers/pci/controller/dwc/pcie-artpec6.c b/drivers/pci/controller/dwc/pcie-artpec6.c
> index 9ed0a9ba7619..0edd9ab3f139 100644
> --- a/drivers/pci/controller/dwc/pcie-artpec6.c
> +++ b/drivers/pci/controller/dwc/pcie-artpec6.c
> @@ -441,7 +441,18 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
>
> pci->ep.ops = &pcie_ep_ops;
>
> - return dw_pcie_ep_init(&pci->ep);
> + ret = dw_pcie_ep_init(&pci->ep);
> + if (ret < 0)
Here you are using if (ret < 0) to error check the return from
dw_pcie_ep_init().
> index 778588b4be70..ca9b22e654cd 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-plat.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-plat.c
> @@ -145,6 +145,15 @@ static int dw_plat_pcie_probe(struct platform_device *pdev)
>
> pci->ep.ops = &pcie_ep_ops;
> ret = dw_pcie_ep_init(&pci->ep);
> + if (ret)
Here you are using if (ret) to error check the return from
dw_pcie_ep_init(). Please be consistent.
next prev parent reply other threads:[~2024-03-07 20:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-04 9:22 [PATCH v9 00/10] PCI: dwc: ep: Fix DBI access failure for drivers requiring refclk from host Manivannan Sadhasivam
2024-03-04 9:22 ` [PATCH v9 01/10] PCI: dwc: ep: Remove deinit() callback from struct dw_pcie_ep_ops Manivannan Sadhasivam
2024-03-07 19:52 ` Niklas Cassel
2024-03-08 11:17 ` Yoshihiro Shimoda
2024-03-04 9:22 ` [PATCH v9 02/10] PCI: dwc: ep: Rename dw_pcie_ep_exit() to dw_pcie_ep_deinit() Manivannan Sadhasivam
2024-03-07 19:52 ` Niklas Cassel
2024-03-08 11:18 ` Yoshihiro Shimoda
2024-03-04 9:22 ` [PATCH v9 03/10] PCI: dwc: ep: Introduce dw_pcie_ep_cleanup() API for drivers supporting PERST# Manivannan Sadhasivam
2024-03-07 20:14 ` Niklas Cassel
2024-03-04 9:22 ` [PATCH v9 04/10] PCI: dwc: ep: Fix DBI access failure for drivers requiring refclk from host Manivannan Sadhasivam
2024-03-07 20:31 ` Niklas Cassel
2024-03-08 5:34 ` Manivannan Sadhasivam
2024-03-04 9:22 ` [PATCH v9 05/10] PCI: dwc: ep: Rename dw_pcie_ep_init_complete() to dw_pcie_ep_init_registers() Manivannan Sadhasivam
2024-03-07 20:32 ` Niklas Cassel
2024-03-04 9:22 ` [PATCH v9 06/10] PCI: dwc: ep: Call dw_pcie_ep_init_registers() API directly from all glue drivers Manivannan Sadhasivam
2024-03-07 20:36 ` Niklas Cassel [this message]
2024-03-08 5:36 ` Manivannan Sadhasivam
2024-03-08 9:05 ` Niklas Cassel
2024-03-08 9:49 ` Manivannan Sadhasivam
2024-03-08 10:22 ` Niklas Cassel
2024-03-14 7:22 ` Manivannan Sadhasivam
2024-03-08 11:22 ` Yoshihiro Shimoda
2024-03-04 9:22 ` [PATCH v9 07/10] PCI: dwc: ep: Remove "core_init_notifier" flag Manivannan Sadhasivam
2024-03-07 21:09 ` Niklas Cassel
2024-03-08 5:38 ` Manivannan Sadhasivam
2024-03-08 8:48 ` Niklas Cassel
2024-03-08 9:44 ` Manivannan Sadhasivam
2024-03-08 13:24 ` Niklas Cassel
2024-03-11 14:45 ` Manivannan Sadhasivam
2024-03-11 21:54 ` Niklas Cassel
2024-03-13 17:53 ` Manivannan Sadhasivam
2024-03-04 9:22 ` [PATCH v9 08/10] PCI: dwc: ep: Add a generic dw_pcie_ep_linkdown() API to handle LINK_DOWN event Manivannan Sadhasivam
2024-03-07 21:43 ` Niklas Cassel
2024-03-08 5:41 ` Manivannan Sadhasivam
2024-03-08 8:56 ` Niklas Cassel
2024-03-08 9:46 ` Manivannan Sadhasivam
2024-03-08 10:14 ` Niklas Cassel
2024-03-04 9:22 ` [PATCH v9 09/10] PCI: qcom-ep: Use the " Manivannan Sadhasivam
2024-03-07 21:43 ` Niklas Cassel
2024-03-04 9:22 ` [PATCH v9 10/10] PCI: dwc: ep: Add Kernel-doc comments for APIs Manivannan Sadhasivam
2024-03-07 21:58 ` Niklas Cassel
2024-03-08 5:43 ` 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=ZeolaEIRYmKZjnvT@ryzen \
--to=cassel@kernel$(echo .)org \
--cc=bhelgaas@google$(echo .)com \
--cc=festevam@gmail$(echo .)com \
--cc=gustavo.pimentel@synopsys$(echo .)com \
--cc=hayashi.kunihiko@socionext$(echo .)com \
--cc=hongxing.zhu@nxp$(echo .)com \
--cc=jesper.nilsson@axis$(echo .)com \
--cc=jingoohan1@gmail$(echo .)com \
--cc=jonathanh@nvidia$(echo .)com \
--cc=kernel@pengutronix$(echo .)de \
--cc=kishon@kernel$(echo .)org \
--cc=kishon@ti$(echo .)com \
--cc=kw@linux$(echo .)com \
--cc=l.stach@pengutronix$(echo .)de \
--cc=linux-arm-kernel@axis$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-arm-msm@vger$(echo .)kernel.org \
--cc=linux-imx@nxp$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-omap@vger$(echo .)kernel.org \
--cc=linux-pci@vger$(echo .)kernel.org \
--cc=linux-renesas-soc@vger$(echo .)kernel.org \
--cc=linux-tegra@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=lpieralisi@kernel$(echo .)org \
--cc=manivannan.sadhasivam@linaro$(echo .)org \
--cc=marek.vasut+renesas@gmail$(echo .)com \
--cc=mhiramat@kernel$(echo .)org \
--cc=minghuan.Lian@nxp$(echo .)com \
--cc=mingkai.hu@nxp$(echo .)com \
--cc=robh@kernel$(echo .)org \
--cc=roy.zang@nxp$(echo .)com \
--cc=s.hauer@pengutronix$(echo .)de \
--cc=shawnguo@kernel$(echo .)org \
--cc=srikanth.thokala@intel$(echo .)com \
--cc=thierry.reding@gmail$(echo .)com \
--cc=vidyas@nvidia$(echo .)com \
--cc=vigneshr@ti$(echo .)com \
--cc=yoshihiro.shimoda.uh@renesas$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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