Re: [PATCH v5 6/6] PCI: dwc: rcar-gen4: Add support for R-Car X5H PCIe4

From: Bjorn Helgaas

Date: Mon Sep 28 2026 - 18:25:15 EST


On Mon, Sep 28, 2026 at 11:32:37PM +0200, Marek Vasut wrote:
> On 9/28/26 11:01 PM, Bjorn Helgaas wrote:
> > On Mon, Sep 21, 2026 at 10:27:48PM +0200, Marek Vasut wrote:
> > > Add support for R8A78000 (R-Car X5H) PCIe4.
> > >
> > > This driver previously supported R-Car Gen4 S4/V4H/V4M. PCIe features
> > > of R-Car X5H PCIe4 are almost all the same.
> > >
> > > The controller initialization sequence is slightly different and is
> > > factored out into controller specific callbacks, in a manner similar
> > > to previous R-Car Gen4 handling.
> > >
> > > The controller does have a PHY attached to it, but the PHY is operated
> > > by a separate PHY driver, the PHY driver instance binding is handled
> > > in rcar_gen4_pcie_get_resources() and controlled in the aforementioned
> > > controller specific callbacks.
> > >
> > > The controller driver is deliberately using "renesas,rcar-gen5-pcie4"
> > > DT compatible string to discern R-Car X5H PCIe4 controller supported
> > > by this driver, from R-Car X5H PCIe6 controller which will most likely
> > > use a separate driver.
> >
> > The gen5/pcie4 usage is confusing.
> >
> > I often push back on things like "PCIe Gen4" because it's ambiguous
> > (does it mean "compliant with base spec r4.0" or "supports 16 GT/s" or
> > something else), but it's so widely used to mean transfer rate that
> > it's hard to resist, and the best I can hope for is clarification.
> >
> > But in "renesas,rcar-gen5-pcie4", I don't know what the 5 and the 4
> > mean. Maybe "gen5" refers to some internal R-Car thing, and "pcie4"
> > is something like "PCIe Gen4, i.e., 16 GT/s"?
>
> Gen5 refers to R-Car Gen5 (5th R-Car SoC generation).
>
> PCIe4 refers to the PCIe Gen4 core in the R-Car Gen5 SoC. There is also PCIe
> Gen6 core in the same SoC, but that will require a different driver and
> different compatible string.
>
> Since none of this shipped in any kernel version yet, would you prefer some
> sort of rename ? I can send patches.

Huh. TIL that pcie-rcar-gen4.c refers to the 4th generation R-Car
SoCs (and, I guess the point of this series is to add support for 5th
generation SoCs), not to PCIe Gen4 link speeds. I see that
"renesas,rcar-genX" is all over the place in 'compatible' strings, so
I guess we should follow that precedent.

If the "renesas,rcar-gen5" SoC includes both PCIe Gen4 and PCIe Gen6
cores, I suppose everybody refers to them as pcie-gen4 and pcie-gen6,
so the "renesas,rcar-gen5-pcie4" you used is probably the obvious
choice.

But maybe we can make commit logs less confusing by saying things
like:

- R-Car Gen4 SoCs S4/V4H/V4M
- R-Car Gen5 SoC X5H
- the R-Car Gen5 SoC PCIe Gen4 core
- the R-Car R8A78000 X5H PCIe Gen4 core, which supports a x8 link at
16 GT/s