devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Conor Dooley <conor@kernel.org>
Cc: linux-pci@vger.kernel.org,
	"Conor Dooley" <conor.dooley@microchip.com>,
	"Daire McNamara" <daire.mcnamara@microchip.com>,
	"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Rob Herring" <robh@kernel.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Conor Dooley" <conor+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-riscv@lists.infradead.org
Subject: Re: [PATCH v5 2/2] PCI: microchip: rework reg region handing to support using either instance 1 or 2
Date: Tue, 5 Nov 2024 11:18:28 -0600	[thread overview]
Message-ID: <20241105171828.GA1474726@bhelgaas> (raw)
In-Reply-To: <20241104-stabilize-friday-94705c3dc244@spud>

On Mon, Nov 04, 2024 at 11:18:43AM +0000, Conor Dooley wrote:
> On Fri, Nov 01, 2024 at 02:51:29PM -0500, Bjorn Helgaas wrote:
> > On Wed, Aug 14, 2024 at 09:08:42AM +0100, Conor Dooley wrote:
> > > From: Conor Dooley <conor.dooley@microchip.com>
> > > 
> > > The PCI host controller on PolarFire SoC has multiple "instances", each
> > > with their own bridge and ctrl address spaces. The original binding has
> > > an "apb" register region, and it is expected to be set to the base
> > > address of the host controllers register space. Defines in the driver
> > > were used to compute the addresses of the bridge and ctrl address ranges
> > > corresponding to instance1. Some customers want to use instance0 however
> > > and that requires changing the defines in the driver, which is clearly
> > > not a portable solution.
> > 
> > The subject mentions "instance 1 or 2".
> > 
> > This paragraph implies adding support for "instance0" ("customers want
> > to use instance0").
> > 
> > The DT patch suggests that we're adding support for "instance2"
> > ("customers want to use instance2").
> > 
> > Both patches suggest that the existing support is for "instance 1".
> > 
> > Maybe what's being added is "instance 2", and this commit log should
> > s/instance0/instance 2/ ?  And probably s/instance1/instance 1/ so the
> > style is consistent?
> 
> Hmm no, it would be s/instance1/instance 2/ & s/instance0/instance 1/.
> The indices are 1-based, not 0-based.
> 
> > Is this a "pick one or the other but not both" situation, or does this
> > device support two independent PCIe controllers?
> > 
> > I first thought this driver supported a single PCIe controller, and
> > you were adding support for a second independent controller.
> 
> I don't know if they are fully independent (Daire would have to confirm)
> but as far as the driver in linux is concerned they are. As far as I
> know, you could operate both instances at the same time, but I've not
> heard of any customer that is actually doing that nor tested it myself.
> Operating both instances would require another node in the devicetree,
> which should work fine given the private data structs are allocated at
> runtime. I think the config space is shared.
> 
> > But the fact that you say "the [singular] host controller on
> > PolarFire", and you're not changing mc_host_probe() to call
> > pci_host_common_probe() more than once makes me think there is only a
> > single PCIe controller, and for some reason you can choose to operate
> > it using either register set 1 or register set 2.
> 
> The wording I've used mostly stems from conversations with Daire. We've
> kinda been saying that there's a single controller with two root port
> instances. 

If these are two separate Root Ports, can we call them "Root Ports"
instead of "instances"?  Common terminology makes for common
understanding.

> Each root port instance is connected to different IOs,
> they're more than just different registers for accessing the same thing.

Sounds like some customers use Root Port 1 and others use Root Port 2,
maybe based on things like which pins are more convenient to route.

I would very much like to reword these commit logs using as much
standard PCIe terminology as possible.  Most of these native PCIe
controller drivers have Root Complex and Root Port concepts all mixed
together, and anything we can do to standardize them will be a
benefit.

Bjorn

  reply	other threads:[~2024-11-05 17:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-14  8:08 [PATCH v5 0/2] PCI: microchip: support using either instance 1 or 2 Conor Dooley
2024-08-14  8:08 ` [PATCH v5 1/2] dt-bindings: PCI: microchip,pcie-host: fix reg properties Conor Dooley
2024-08-14  8:08 ` [PATCH v5 2/2] PCI: microchip: rework reg region handing to support using either instance 1 or 2 Conor Dooley
2024-11-01 19:51   ` Bjorn Helgaas
2024-11-02 11:54     ` Krzysztof Wilczyński
2024-11-04 11:18     ` Conor Dooley
2024-11-05 17:18       ` Bjorn Helgaas [this message]
2024-11-06 16:26         ` Conor Dooley
2024-10-24  9:38 ` [PATCH v5 0/2] PCI: microchip: " Conor Dooley
2024-10-24 18:46   ` Bjorn Helgaas
2024-11-02 11:51 ` Krzysztof Wilczyński

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=20241105171828.GA1474726@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=conor@kernel.org \
    --cc=daire.mcnamara@microchip.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=kw@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=lpieralisi@kernel.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;
as well as URLs for NNTP newsgroup(s).