From: Bjorn Helgaas <helgaas@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
Cc: "Rob Herring" <robh@kernel.org>,
"Saravana Kannan" <saravanak@google.com>,
"Jingoo Han" <jingoohan1@gmail.com>,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Richard Zhu" <hongxing.zhu@nxp.com>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
imx@lists.linux.dev, "Niklas Cassel" <cassel@kernel.org>
Subject: Re: [PATCH v9 1/7] PCI: dwc: Use resource start as iomap() input in dw_pcie_pme_turn_off()
Date: Wed, 29 Jan 2025 17:19:37 -0600 [thread overview]
Message-ID: <20250129231937.GA523281@bhelgaas> (raw)
In-Reply-To: <20250128-pci_fixup_addr-v9-1-3c4bb506f665@nxp.com>
On Tue, Jan 28, 2025 at 05:07:34PM -0500, Frank Li wrote:
> Pass resource start as the input argument to iomap() instead of
> atu.cpu_address in dw_pcie_pme_turn_off(). While atu.cpu_address happens to
> be the same here, it actually represents the parent bus address before ATU,
> which may not always align with the CPU address. Using resource start
> ensures correctness and clarity.
1) "atu.cpu_address happens to be the same here" is currently true
but only because this function is buggy and assumes the ATU input
address is the same as a CPU physical address.
2) We're trying to make a correctness fix, not a clarity fix. This
patch by itself isn't a functional change because of the cpu_addr
bug, but without this patch, fixing the cpu_addr bug would break
the iomap.
3) "Pass resource start as the input to iomap()" just restates the
patch. We should say *why* this is important. Something like
this:
The msg_res region translates writes into PCIe Message TLPs.
Previously we mapped this region using atu.cpu_addr, the input
address programmed into the ATU.
"cpu_addr" is a misnomer because when a bus fabric translates
addresses between the CPU and the ATU, the ATU input address is
different from the CPU address. A future patch will rename
"cpu_addr" and correct the value to be the ATU input address
instead of the CPU physical address.
Map the msg_res region before writing to it using the msg_res
resource start, a CPU physical address.
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> change from v9 to v10
> - new patch
> ---
> drivers/pci/controller/dwc/pcie-designware-host.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c
> index ffaded8f2df7b..ae3fd2a5dbf85 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-host.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-host.c
> @@ -908,7 +908,7 @@ static int dw_pcie_pme_turn_off(struct dw_pcie *pci)
> if (ret)
> return ret;
>
> - mem = ioremap(atu.cpu_addr, pci->region_align);
> + mem = ioremap(pci->pp.msg_res->start, pci->region_align);
> if (!mem)
> return -ENOMEM;
>
>
> --
> 2.34.1
>
next prev parent reply other threads:[~2025-01-29 23:19 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 22:07 [PATCH v9 0/7] PCI: dwc: opitimaze RC Host/EP pci_fixup_addr() Frank Li
2025-01-28 22:07 ` [PATCH v9 1/7] PCI: dwc: Use resource start as iomap() input in dw_pcie_pme_turn_off() Frank Li
2025-01-29 23:19 ` Bjorn Helgaas [this message]
2025-01-30 16:07 ` Frank Li
2025-01-28 22:07 ` [PATCH v9 2/7] PCI: dwc: Rename cpu_addr to parent_bus_addr for ATU configuration Frank Li
2025-01-29 23:23 ` Bjorn Helgaas
2025-01-30 16:02 ` Frank Li
2025-02-13 16:02 ` Frank Li
2025-01-28 22:07 ` [PATCH v9 3/7] PCI: Add parent_bus_offset to resource_entry Frank Li
2025-02-06 17:11 ` Frank Li
2025-02-27 0:08 ` Bjorn Helgaas
2025-02-27 0:23 ` Bjorn Helgaas
2025-03-03 21:57 ` Frank Li
2025-03-04 17:50 ` Bjorn Helgaas
2025-03-04 22:11 ` Frank Li
2025-03-04 22:25 ` Frank Li
2025-03-07 15:32 ` Frank Li
2025-03-07 23:41 ` Bjorn Helgaas
2025-01-28 22:07 ` [PATCH v9 4/7] PCI: dwc: Use devicetree 'ranges' property to get rid of cpu_addr_fixup() callback Frank Li
2025-02-26 23:33 ` Bjorn Helgaas
2025-03-03 21:58 ` Frank Li
2025-01-28 22:07 ` [PATCH v9 5/7] PCI: dwc: ep: Add parent_bus_addr for outbound window Frank Li
2025-01-28 22:07 ` [PATCH v9 6/7] PCI: dwc: ep: Ensure proper iteration over outbound map windows Frank Li
2025-02-27 0:12 ` Bjorn Helgaas
2025-02-27 0:14 ` Bjorn Helgaas
2025-01-28 22:07 ` [PATCH v9 7/7] PCI: imx6: Remove cpu_addr_fixup() Frank Li
2025-01-29 10:13 ` [PATCH v9 0/7] PCI: dwc: opitimaze RC Host/EP pci_fixup_addr() Niklas Cassel
2025-01-29 15:28 ` Frank Li
2025-01-29 16:39 ` Niklas Cassel
2025-01-29 17:04 ` Frank Li
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=20250129231937.GA523281@bhelgaas \
--to=helgaas@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=hongxing.zhu@nxp.com \
--cc=imx@lists.linux.dev \
--cc=jingoohan1@gmail.com \
--cc=kernel@pengutronix.de \
--cc=kw@linux.com \
--cc=l.stach@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=saravanak@google.com \
--cc=shawnguo@kernel.org \
/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.