public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Niklas Cassel <cassel@kernel.org>,
	Jesper Nilsson <jesper.nilsson@axis.com>
Cc: "Frank Li" <Frank.Li@nxp.com>,
	"Lars Persson" <lars.persson@axis.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	linux-arm-kernel@axis.com, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH RFC NOT TESTED 0/2] PCI: artpec6: Try to clean up artpec6_pcie_cpu_addr_fixup()
Date: Thu, 20 Mar 2025 16:54:05 -0500	[thread overview]
Message-ID: <20250320215405.GA1102700@bhelgaas> (raw)
In-Reply-To: <Z9k2fLFU3UCubK97@ryzen>

On Tue, Mar 18, 2025 at 10:01:48AM +0100, Niklas Cassel wrote:
> On Mon, Mar 17, 2025 at 12:54:19PM -0500, Bjorn Helgaas wrote:
> > On Mon, Mar 10, 2025 at 05:47:03PM +0100, Jesper Nilsson wrote:
> > > I've now tested this patch-set together with your v9 on-top of the
> > > next-branch of the pci tree, and seems to be working good on my
> > > ARTPEC-6 set as RC:
> > > 
> > > # lspci
> > > 00:00.0 PCI bridge: Renesas Technology Corp. Device 0024
> > > 01:00.0 PCI bridge: Pericom Semiconductor PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch (rev 05)
> > > 02:01.0 PCI bridge: Pericom Semiconductor PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch (rev 05)
> > > 02:02.0 PCI bridge: Pericom Semiconductor PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch (rev 05)
> > > 03:00.0 Non-Volatile memory controller: Phison Electronics Corporation E18 PCIe4 NVMe Controller (rev 01)
> > > 
> > > However, when running as EP, I found that the DT setup for pcie_ep
> > > wasn't correct:
> > > 
> > > diff --git a/arch/arm/boot/dts/axis/artpec6.dtsi b/arch/arm/boot/dts/axis/artpec6.dtsi
> > > index 399e87f72865..6d52f60d402d 100644
> > > --- a/arch/arm/boot/dts/axis/artpec6.dtsi
> > > +++ b/arch/arm/boot/dts/axis/artpec6.dtsi
> > > @@ -195,8 +195,8 @@ pcie: pcie@f8050000 {
> > >  
> > >                 pcie_ep: pcie_ep@f8050000 {
> > >                         compatible = "axis,artpec6-pcie-ep", "snps,dw-pcie";
> > > -                       reg = <0xf8050000 0x2000
> > > -                              0xf8051000 0x2000
> > > +                       reg = <0xf8050000 0x1000
> > > +                              0xf8051000 0x1000
> > >                                0xf8040000 0x1000
> > >                                0x00000000 0x20000000>;
> > >                         reg-names = "dbi", "dbi2", "phy", "addr_space";
> > > 
> > > Even with this fix, I get a panic in dw_pcie_read_dbi() in EP-setup,
> > > both with and without:
> 
> Your fix looks correct to me.
> 
> You should even be able keep dbi as 0x2000, and simply remove the dbi2
> from "reg" and "reg-names", as the driver should be able to infer dbi2
> automatically:
> https://github.com/torvalds/linux/blob/v6.14-rc7/drivers/pci/controller/dwc/pcie-designware.c#L119-L128
> 
> But your fix seems more correct.
> You should probably also change the size of "dbi" to 0x1000 in the RC node.

Just a ping to see if there's any chance of getting this into v6.15?

To do that, I think we'd need to confirm that:

  - the endpoint issue is fixed

  - artpec6 is only used in-house

  - the DTBs are either already OK or OK after [PATCH 1/2]

  - everybody in-house is OK with updating to the new DTB.

I haven't seen anything about the endpoint part, and haven't seen
confirmation of the others.

Bjorn

  reply	other threads:[~2025-03-20 21:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-04 17:49 [PATCH RFC NOT TESTED 0/2] PCI: artpec6: Try to clean up artpec6_pcie_cpu_addr_fixup() Frank Li
2025-03-04 17:49 ` [PATCH RFC NOT TESTED 1/2] ARM: dts: artpec6: Move PCIe nodes under bus@c0000000 Frank Li
2025-03-04 17:49 ` [PATCH RFC NOT TESTED 2/2] PCI: artpec6: Use use_parent_dt_ranges and clean up artpec6_pcie_cpu_addr_fixup() Frank Li
2025-03-04 19:08   ` Bjorn Helgaas
2025-03-04 20:12     ` Frank Li
2025-03-04 20:31       ` Bjorn Helgaas
2025-03-04 21:02         ` Frank Li
2025-03-05 11:18 ` [PATCH RFC NOT TESTED 0/2] PCI: artpec6: Try to " Niklas Cassel
2025-03-05 11:26   ` Niklas Cassel
2025-03-05 15:33 ` Jesper Nilsson
2025-03-10 16:47   ` Jesper Nilsson
2025-03-10 20:45     ` Frank Li
2025-03-17 17:54     ` Bjorn Helgaas
2025-03-18  9:01       ` Niklas Cassel
2025-03-20 21:54         ` Bjorn Helgaas [this message]
2025-03-21 17:17           ` Jesper Nilsson
2025-03-21 17:54             ` Bjorn Helgaas
2025-03-11 15:19   ` Rob Herring (Arm)

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=20250320215405.GA1102700@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=Frank.Li@nxp.com \
    --cc=bhelgaas@google.com \
    --cc=cassel@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jesper.nilsson@axis.com \
    --cc=krzk+dt@kernel.org \
    --cc=kw@linux.com \
    --cc=lars.persson@axis.com \
    --cc=linux-arm-kernel@axis.com \
    --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 \
    /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