public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: 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: Mon, 17 Mar 2025 12:54:19 -0500	[thread overview]
Message-ID: <20250317175419.GA933527@bhelgaas> (raw)
In-Reply-To: <Z88Xh75G6Wabwl2O@axis.com>

On Mon, Mar 10, 2025 at 05:47:03PM +0100, Jesper Nilsson wrote:
> Hi again Frank!
> 
> 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:
> 
> "PCI: artpec6: Use use_parent_dt_ranges and clean up artpec6_pcie_cpu_addr_fixup()"
> 
> so it looks like the ARTPEC-6 EP functionality wasn't completely tested
> with this config.
> 
> The ARTPEC-7 variant does work as EP with our local config, I'll try
> to see what I can do to correct ARTPEC-6 using the setup for ARTPEC-7,
> and test your patchset on the ARTPEC-7.

Where are we at with this?

First priority: I plan to merge v12 of Frank's series [1] for v6.15.
I hope this works with existing DTs on artpec6, both for RC and EP.
If not, we need to figure it out ASAP.

Second priority: For this series of:

  ARM: dts: artpec6: Move PCIe nodes under bus@c0000000
  PCI: artpec6: Use use_parent_dt_ranges and clean up artpec6_pcie_cpu_addr_fixup()

it looks like there's an open issue with the dts patch that Rob
noticed [2].  It would be great if we could fix that issue and get it
queued up if it's safe to merge independently of Frank's v12 series.

It looks like the artpec6_pcie_cpu_addr_fixup() removal probably needs
to be delayed until we know all DTs in the field are fixed?  This
might mean that we can *never* remove artpec6_pcie_cpu_addr_fixup()
unless we can identify and work around the broken DTs in the kernel.

[1] https://lore.kernel.org/r/20250315201548.858189-1-helgaas@kernel.org
[2] https://lore.kernel.org/r/174170613961.3566466.13045709851799071104.robh@kernel.org

> On Wed, Mar 05, 2025 at 04:33:18PM +0100, Jesper Nilsson wrote:
> > Hi Frank,
> > 
> > I'm the current maintainer of this driver. As Niklas Cassel wrote in
> > another email, artpec-7 was supposed to be upstreamed, as it is in most
> > parts identical to the artpec-6, but reality got in the way. I don't
> > think there is very much left to support it at the same level as artpec-6,
> > but give me some time to see if the best thing is to drop the artpec-7
> > support as Niklas suggested.
> > 
> > Unfortunately, I'm travelling right now and don't have access to any
> > of my boards. I'll perform some testing next week when I'm back and
> > help to clean this up.
> > 
> > Best regards,
> > 
> > /Jesper
> > 
> > 
> > On Tue, Mar 04, 2025 at 12:49:34PM -0500, Frank Li wrote:
> > > This patches basic on
> > > https://lore.kernel.org/imx/20250128-pci_fixup_addr-v9-0-3c4bb506f665@nxp.com/
> > > 
> > > I have not hardware to test and there are not axis,artpec7-pcie in kernel
> > > tree.
> > > 
> > > Look for driver owner, who help test this and start move forward to remove
> > > cpu_addr_fixup() work.
> > > 
> > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > ---
> > > Frank Li (2):
> > >       ARM: dts: artpec6: Move PCIe nodes under bus@c0000000
> > >       PCI: artpec6: Use use_parent_dt_ranges and clean up artpec6_pcie_cpu_addr_fixup()
> > > 
> > >  arch/arm/boot/dts/axis/artpec6.dtsi       | 92 +++++++++++++++++--------------
> > >  drivers/pci/controller/dwc/pcie-artpec6.c | 20 +------
> > >  2 files changed, 52 insertions(+), 60 deletions(-)
> > > ---
> > > base-commit: 1552be4855dacca5ea39b15b1ef0b96c91dbea0d
> > > change-id: 20250304-axis-6d12970976b4
> > > 
> > > Best regards,
> > > ---
> > > Frank Li <Frank.Li@nxp.com>
> > 
> > /^JN - Jesper Nilsson
> > -- 
> >                Jesper Nilsson -- jesper.nilsson@axis.com
> 
> /^JN - Jesper Nilsson
> -- 
>                Jesper Nilsson -- jesper.nilsson@axis.com

  parent reply	other threads:[~2025-03-17 17: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 [this message]
2025-03-18  9:01       ` Niklas Cassel
2025-03-20 21:54         ` Bjorn Helgaas
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=20250317175419.GA933527@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=Frank.Li@nxp.com \
    --cc=bhelgaas@google.com \
    --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