All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea della Porta <andrea.porta@suse.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Andrea della Porta <andrea.porta@suse.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Derek Kiernan <derek.kiernan@amd.com>,
	Dragan Cvetic <dragan.cvetic@amd.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Nicolas Ferre <nicolas.ferre@microchip.com>,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Saravana Kannan <saravanak@google.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	netdev@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-arch@vger.kernel.org, Lee Jones <lee@kernel.org>,
	Andrew Lunn <andrew@lunn.ch>, Stefan Wahren <wahrenst@gmx.net>,
	Lizhi Hou <lizhi.hou@amd.com>
Subject: Re: [PATCH 03/11] PCI: of_property: Sanitize 32 bit PCI address parsed from DT
Date: Sun, 6 Oct 2024 13:20:51 +0200	[thread overview]
Message-ID: <ZwJyk9XouLfd24VG@apocalypse> (raw)
In-Reply-To: <20240928201717.GA99402@bhelgaas>

Hi Bjorn,

On 15:17 Sat 28 Sep     , Bjorn Helgaas wrote:
...
> From your earlier email
> (https://lore.kernel.org/r/Zszcps6bnCcdFa54@apocalypse):
> 
> > Without this patch the range translation chain is broken, like this:
> 
> > pcie@120000: <0x2000000 0x00 0x00    0x1f 0x00                0x00 0xfffffffc>;
> > ~~~ chain breaks here ~~~
> > pci@0      : <0x82000000 0x1f 0x00   0x82000000 0x1f 0x00     0x00 0x600000>;
> > dev@0,0    : <0x01 0x00 0x00         0x82010000 0x1f 0x00     0x00 0x400000>;
> > rp1@0      : <0xc0 0x40000000        0x01 0x00 0x00           0x00 0x400000>;
> 
> The cover letter said "RP1 is an MFD chipset that acts as a
> south-bridge PCIe endpoint .. the RP1 as an endpoint itself is
> discoverable via usual PCI enumeration".
> 
> I assume pcie@120000 is the PCI host bridge and is already in the
> original DT describing the platform.  I assume pci@0 is a Root Port
> and dev@0,0 is the RP1 Endpoint, and the existing code already adds
> them as they are enumerated when pci_bus_add_device() calls
> of_pci_make_dev_node(), and I think this series adds the rp1@0
> description.

Correct.

> 
> And the "ranges" properties are built when of_pci_make_dev_node()
> eventually calls of_pci_prop_ranges().  With reference to sec 2.2.1.1
> of https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf
> and
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#ranges,
> I *think* your example says:
> 
> pcie@120000 has:
>   child phys.hi	      0x02000000    n=0 p=0 t=0 ss=10b
>   child phys.mid,lo   0x00000000_00000000
>   parent phys.hi,lo   0x0000001f_00000000
>   length hi,lo        0x00000000_fffffffc
> 
> which would make it a bridge where the child (PCI) address space is
> relocatable non-prefetchable 32-bit memory space at
> 0x00000000-0xfffffffc, and the corresponding parent address space is
> 0x1f_00000000-0x1f_fffffffc.  That means the host bridge applies an
> address translation of "child_addr = parent_addr - 0x1f_00000000".
> 
> pci@0 has:
>   child phys.hi	      0x82000000    n=1 p=0 t=0 ss=10b
>   child phys.mid,lo   0x0000001f_00000000
>   parent phys.hi      0x82000000    n=1 p=0 t=0 ss=10b
>   parent phys.mid,lo  0x0000001f_00000000
>   length hi,lo        0x00000000_00600000
> 
> which would make it a PCI-to-PCI bridge (I assume a PCIe Root Port),
> where the child (secondary bus) address space is the non-relocatable
> non-prefetchable 32-bit memory space 0x1f_00000000-0x1f_005fffff and
> the parent (primary bus) address space is also non-relocatable
> non-prefetchable 32-bit memory space at 0x1f_00000000-0x1f_005fffff.
> 
> This looks wrong to me because the pci@0 parent address space
> (0x1f_00000000-0x1f_005fffff) should be inside the pcie@120000 child
> address space (0x00000000-0xfffffffc), but it's not.

Exactly, that example refers to the 'uncorrected' case, i.e. without the
patch applied.

> 
> IIUC, this patch clears the upper 32 bits in the pci@0 parent address
> space.  That would make things work correctly in this case because
> that happens to be the exact translation of pcie@120000, so it results
> in pci@0 parent address space of 0x00000000-0x005fffff.

Right. I think we sould split it into two issues:

[1] RP1 acknowledges a 32 bit BAR address from its config space while the
device must be accessed using a 64 bit address (that is cpu address
0x1f_00000000), which sounds strange to me but I guess that is how
the hw interconnect has been designed, so we need to cope with it.

[2] I still think that the of_pci_set_address() function should be amended
to avoid generating invalid 64 address when 32 bit flag is set.

As you noted, fixing [2] will incidentally also let [1] work: I think
we can try to solve [1] the proper way and maybe defer [2] for a separate
patch.
To solve [1] I've dropped this patch and tried to solve it from devicetree,
modifying the following mapping:

pcie@120000: <0x3000000 0x1f 0x00    0x1f 0x00                0x00 0xfffffffc>;

so we now have a 1:1 64 bit mapping from 0x1f_00000000 to 0x1f_00000000.
I thought it would result in something like this:

pcie@120000: <0x3000000 0x1f 0x00    0x1f 0x00                0x00 0xfffffffc>;
pci@0      : <0x82000000 0x1f 0x00   0x82000000 0x1f 0x00     0x00 0x600000>;
dev@0,0    : <0x01 0x00 0x00         0x82010000 0x1f 0x00     0x00 0x400000>;
rp1@0      : <0xc0 0x40000000        0x01 0x00 0x00           0x00 0x400000>;

but it fails instead (err: "can't assign; no space") in pci_assign_resource()
function trying to match the size using pci_clip_resource_to_region(). It turned
out that the clipping is done against 32 bit memory region 'pci_32_bit',and
this is failing because the original region addresses to be clipped wxxiereas 64
bit wide. The 'culprit' seems to be the function devm_of_pci_get_host_bridge_resources()
dropping IORESOURCE_MEM_64 on any memory resource, which seems to be a change
somewhat specific to a RK3399 case (see commit 3bd6b8271ee66), but I'm not sure
whether it can be considered generic.

So, I'm actually at an empasse here.

Also, while taking a look at the resulting devicetree, I'm a bit confused by the
fact that the parent address generated by of_pci_prop_ranges() for the pci@0,0
bridge seems to be taken from the parent address of the pcie@120000 node. Shouldn't
it be taken from the child address of pcie@120000, instead?

> 
> But I don't think it works in general because there's no requirement
> that the host bridge address translation be that simple.  For example,
> if we have two host bridges, and we want each to have 2GB of 32-bit
> PCI address space starting at 0x0, it might look like this:
> 
>   0x00000002_00000000 -> PCI 0x00000000 (subtract 0x00000002_00000000)
>   0x00000002_80000000 -> PCI 0x00000000 (subtract 0x00000002_80000000)
> 
> In this case simply ignoring the high 32 bits of the CPU address isn't
> the correct translation for the second host bridge.  I think we should
> look at each host bridge's "ranges", find the difference between its
> parent and child addresses, and apply the same difference to
> everything below that bridge.

Not sure I've got this scenario straight: can you please provide the topology
and the bit setting (32/64 bit) for those ranges? Also, is this scenario coming
from a real use case or is it hypothetical?

Many thanks,
Andrea

...

WARNING: multiple messages have this Message-ID (diff)
From: Andrea della Porta <andrea.porta@suse.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: Andrew Lunn <andrew@lunn.ch>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Claudiu Beznea <claudiu.beznea@tuxon.dev>,
	Lizhi Hou <lizhi.hou@amd.com>, Eric Dumazet <edumazet@google.com>,
	Dragan Cvetic <dragan.cvetic@amd.com>,
	Will Deacon <will@kernel.org>,
	linux-clk@vger.kernel.org, linux-arch@vger.kernel.org,
	Rob Herring <robh@kernel.org>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Lee Jones <lee@kernel.org>,
	Saravana Kannan <saravanak@google.com>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	linux-pci@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	devicetree@vger.kernel.org, Conor Dooley <conor+dt@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	linux-gpio@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
	Bjorn Helgaas <bhelgaas@google.com>,
	Andrea della Porta <andrea.porta@suse.com>,
	linux-arm-kernel@lists.infradead.org,
	Derek Kiernan <derek.kiernan@amd.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, Stefan Wahren <wahrenst@gmx.net>,
	netdev@vger.kernel.org, Krzysztof Kozlowski <krzk+dt@kernel.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 03/11] PCI: of_property: Sanitize 32 bit PCI address parsed from DT
Date: Sun, 6 Oct 2024 13:20:51 +0200	[thread overview]
Message-ID: <ZwJyk9XouLfd24VG@apocalypse> (raw)
In-Reply-To: <20240928201717.GA99402@bhelgaas>

Hi Bjorn,

On 15:17 Sat 28 Sep     , Bjorn Helgaas wrote:
...
> From your earlier email
> (https://lore.kernel.org/r/Zszcps6bnCcdFa54@apocalypse):
> 
> > Without this patch the range translation chain is broken, like this:
> 
> > pcie@120000: <0x2000000 0x00 0x00    0x1f 0x00                0x00 0xfffffffc>;
> > ~~~ chain breaks here ~~~
> > pci@0      : <0x82000000 0x1f 0x00   0x82000000 0x1f 0x00     0x00 0x600000>;
> > dev@0,0    : <0x01 0x00 0x00         0x82010000 0x1f 0x00     0x00 0x400000>;
> > rp1@0      : <0xc0 0x40000000        0x01 0x00 0x00           0x00 0x400000>;
> 
> The cover letter said "RP1 is an MFD chipset that acts as a
> south-bridge PCIe endpoint .. the RP1 as an endpoint itself is
> discoverable via usual PCI enumeration".
> 
> I assume pcie@120000 is the PCI host bridge and is already in the
> original DT describing the platform.  I assume pci@0 is a Root Port
> and dev@0,0 is the RP1 Endpoint, and the existing code already adds
> them as they are enumerated when pci_bus_add_device() calls
> of_pci_make_dev_node(), and I think this series adds the rp1@0
> description.

Correct.

> 
> And the "ranges" properties are built when of_pci_make_dev_node()
> eventually calls of_pci_prop_ranges().  With reference to sec 2.2.1.1
> of https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf
> and
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#ranges,
> I *think* your example says:
> 
> pcie@120000 has:
>   child phys.hi	      0x02000000    n=0 p=0 t=0 ss=10b
>   child phys.mid,lo   0x00000000_00000000
>   parent phys.hi,lo   0x0000001f_00000000
>   length hi,lo        0x00000000_fffffffc
> 
> which would make it a bridge where the child (PCI) address space is
> relocatable non-prefetchable 32-bit memory space at
> 0x00000000-0xfffffffc, and the corresponding parent address space is
> 0x1f_00000000-0x1f_fffffffc.  That means the host bridge applies an
> address translation of "child_addr = parent_addr - 0x1f_00000000".
> 
> pci@0 has:
>   child phys.hi	      0x82000000    n=1 p=0 t=0 ss=10b
>   child phys.mid,lo   0x0000001f_00000000
>   parent phys.hi      0x82000000    n=1 p=0 t=0 ss=10b
>   parent phys.mid,lo  0x0000001f_00000000
>   length hi,lo        0x00000000_00600000
> 
> which would make it a PCI-to-PCI bridge (I assume a PCIe Root Port),
> where the child (secondary bus) address space is the non-relocatable
> non-prefetchable 32-bit memory space 0x1f_00000000-0x1f_005fffff and
> the parent (primary bus) address space is also non-relocatable
> non-prefetchable 32-bit memory space at 0x1f_00000000-0x1f_005fffff.
> 
> This looks wrong to me because the pci@0 parent address space
> (0x1f_00000000-0x1f_005fffff) should be inside the pcie@120000 child
> address space (0x00000000-0xfffffffc), but it's not.

Exactly, that example refers to the 'uncorrected' case, i.e. without the
patch applied.

> 
> IIUC, this patch clears the upper 32 bits in the pci@0 parent address
> space.  That would make things work correctly in this case because
> that happens to be the exact translation of pcie@120000, so it results
> in pci@0 parent address space of 0x00000000-0x005fffff.

Right. I think we sould split it into two issues:

[1] RP1 acknowledges a 32 bit BAR address from its config space while the
device must be accessed using a 64 bit address (that is cpu address
0x1f_00000000), which sounds strange to me but I guess that is how
the hw interconnect has been designed, so we need to cope with it.

[2] I still think that the of_pci_set_address() function should be amended
to avoid generating invalid 64 address when 32 bit flag is set.

As you noted, fixing [2] will incidentally also let [1] work: I think
we can try to solve [1] the proper way and maybe defer [2] for a separate
patch.
To solve [1] I've dropped this patch and tried to solve it from devicetree,
modifying the following mapping:

pcie@120000: <0x3000000 0x1f 0x00    0x1f 0x00                0x00 0xfffffffc>;

so we now have a 1:1 64 bit mapping from 0x1f_00000000 to 0x1f_00000000.
I thought it would result in something like this:

pcie@120000: <0x3000000 0x1f 0x00    0x1f 0x00                0x00 0xfffffffc>;
pci@0      : <0x82000000 0x1f 0x00   0x82000000 0x1f 0x00     0x00 0x600000>;
dev@0,0    : <0x01 0x00 0x00         0x82010000 0x1f 0x00     0x00 0x400000>;
rp1@0      : <0xc0 0x40000000        0x01 0x00 0x00           0x00 0x400000>;

but it fails instead (err: "can't assign; no space") in pci_assign_resource()
function trying to match the size using pci_clip_resource_to_region(). It turned
out that the clipping is done against 32 bit memory region 'pci_32_bit',and
this is failing because the original region addresses to be clipped wxxiereas 64
bit wide. The 'culprit' seems to be the function devm_of_pci_get_host_bridge_resources()
dropping IORESOURCE_MEM_64 on any memory resource, which seems to be a change
somewhat specific to a RK3399 case (see commit 3bd6b8271ee66), but I'm not sure
whether it can be considered generic.

So, I'm actually at an empasse here.

Also, while taking a look at the resulting devicetree, I'm a bit confused by the
fact that the parent address generated by of_pci_prop_ranges() for the pci@0,0
bridge seems to be taken from the parent address of the pcie@120000 node. Shouldn't
it be taken from the child address of pcie@120000, instead?

> 
> But I don't think it works in general because there's no requirement
> that the host bridge address translation be that simple.  For example,
> if we have two host bridges, and we want each to have 2GB of 32-bit
> PCI address space starting at 0x0, it might look like this:
> 
>   0x00000002_00000000 -> PCI 0x00000000 (subtract 0x00000002_00000000)
>   0x00000002_80000000 -> PCI 0x00000000 (subtract 0x00000002_80000000)
> 
> In this case simply ignoring the high 32 bits of the CPU address isn't
> the correct translation for the second host bridge.  I think we should
> look at each host bridge's "ranges", find the difference between its
> parent and child addresses, and apply the same difference to
> everything below that bridge.

Not sure I've got this scenario straight: can you please provide the topology
and the bit setting (32/64 bit) for those ranges? Also, is this scenario coming
from a real use case or is it hypothetical?

Many thanks,
Andrea

...


  reply	other threads:[~2024-10-06 11:20 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-20 14:36 [PATCH 00/11] Add support for RaspberryPi RP1 PCI device using a DT overlay Andrea della Porta
2024-08-20 14:36 ` [PATCH 01/11] dt-bindings: clock: Add RaspberryPi RP1 clock bindings Andrea della Porta
2024-08-20 16:19   ` Conor Dooley
2024-08-20 16:19     ` Conor Dooley
2024-08-20 18:25     ` Andrea della Porta
2024-08-20 18:25       ` Andrea della Porta
2024-08-21 11:46       ` Conor Dooley
2024-08-22  9:35         ` Andrea della Porta
2024-08-22  9:35           ` Andrea della Porta
2024-08-22  9:52           ` Krzysztof Kozlowski
2024-08-22 16:23             ` Conor Dooley
2024-08-22 16:23               ` Conor Dooley
2024-08-23 18:21               ` Andrea della Porta
2024-08-23 18:21                 ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 02/11] dt-bindings: pinctrl: Add RaspberryPi RP1 gpio/pinctrl/pinmux bindings Andrea della Porta
2024-08-21  8:42   ` Krzysztof Kozlowski
2024-08-21  8:42     ` Krzysztof Kozlowski
2024-08-30 10:22     ` Andrea della Porta
2024-08-30 10:22       ` Andrea della Porta
2024-08-30 11:46       ` Krzysztof Kozlowski
2024-08-30 11:46         ` Krzysztof Kozlowski
2024-09-02  8:44         ` Andrea della Porta
2024-09-02  8:44           ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 03/11] PCI: of_property: Sanitize 32 bit PCI address parsed from DT Andrea della Porta
2024-08-21 15:24   ` Bjorn Helgaas
2024-08-21 15:24     ` Bjorn Helgaas
2024-08-26 19:51     ` Andrea della Porta
2024-08-26 19:51       ` Andrea della Porta
2024-09-03 22:26       ` Bjorn Helgaas
2024-09-05 16:43         ` Andrea della Porta
2024-09-05 16:43           ` Andrea della Porta
2024-09-05 20:16           ` Bjorn Helgaas
2024-09-05 20:16             ` Bjorn Helgaas
2024-09-27  6:48             ` Andrea della Porta
2024-09-27  6:48               ` Andrea della Porta
2024-09-28 20:17               ` Bjorn Helgaas
2024-09-28 20:17                 ` Bjorn Helgaas
2024-10-06 11:20                 ` Andrea della Porta [this message]
2024-10-06 11:20                   ` Andrea della Porta
2024-10-08  1:08                   ` Bjorn Helgaas
2024-10-08  1:08                     ` Bjorn Helgaas
2024-10-18 12:41                     ` Andrea della Porta
2024-10-18 12:41                       ` Andrea della Porta
2024-10-18 22:28                       ` Bjorn Helgaas
2024-10-18 22:28                         ` Bjorn Helgaas
2024-10-19  8:46                         ` Andrea della Porta
2024-10-19  8:46                           ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 04/11] of: address: Preserve the flags portion on 1:1 dma-ranges mapping Andrea della Porta
2024-08-21  0:16   ` Rob Herring
2024-08-21  0:16     ` Rob Herring
2024-08-21  8:18     ` Andrea della Porta
2024-08-21  8:18       ` Andrea della Porta
2024-08-26 21:29       ` Rob Herring
2024-08-29 10:13         ` Andrea della Porta
2024-08-29 10:13           ` Andrea della Porta
2024-08-29 13:18           ` Rob Herring
2024-08-29 13:18             ` Rob Herring
2024-08-29 16:26             ` Andrea della Porta
2024-08-29 16:26               ` Andrea della Porta
2024-08-30 19:37               ` Rob Herring
2024-08-30 19:37                 ` Rob Herring
2024-09-03  9:09                 ` Herve Codina
2024-09-03  9:09                   ` Herve Codina
2024-09-03  9:33                   ` Andrea della Porta
2024-09-03  9:33                     ` Andrea della Porta
2024-09-03 18:55                     ` Rob Herring
2024-09-03 18:55                       ` Rob Herring
2024-09-03 16:15                 ` Andrea della Porta
2024-09-03 16:15                   ` Andrea della Porta
2024-09-03 18:46                   ` Rob Herring
2024-09-03 18:46                     ` Rob Herring
2024-09-04  8:33                     ` Andrea della Porta
2024-09-04  8:33                       ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 05/11] vmlinux.lds.h: Preserve DTB sections from being discarded after init Andrea della Porta
2024-08-30 19:46   ` Stephen Boyd
2024-09-03 12:29     ` Andrea della Porta
2024-09-03 12:29       ` Andrea della Porta
2024-09-21 20:47       ` Stephen Boyd
2024-09-22  8:14         ` Masahiro Yamada
2024-09-22  8:14           ` Masahiro Yamada
2024-09-23 18:13           ` Stephen Boyd
2024-09-24  2:45             ` Masahiro Yamada
2024-09-24  2:45               ` Masahiro Yamada
2024-08-20 14:36 ` [PATCH 06/11] clk: rp1: Add support for clocks provided by RP1 Andrea della Porta
2024-08-21 13:17   ` Simon Horman
2024-08-21 13:17     ` Simon Horman
2024-08-22 10:04     ` Andrea della Porta
2024-08-22 10:04       ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 07/11] pinctrl: rp1: Implement RaspberryPi RP1 gpio support Andrea della Porta
2024-08-21  8:45   ` Krzysztof Kozlowski
2024-08-21  8:45     ` Krzysztof Kozlowski
2024-08-30 10:39     ` Andrea della Porta
2024-08-30 10:39       ` Andrea della Porta
2024-08-21  9:22   ` kernel test robot
2024-08-21 12:06   ` kernel test robot
2024-08-21 13:27   ` Simon Horman
2024-08-21 13:27     ` Simon Horman
2024-08-23 17:16     ` Andrea della Porta
2024-08-23 17:16       ` Andrea della Porta
2024-08-21 20:51   ` kernel test robot
2024-08-26  8:59   ` Linus Walleij
2024-08-26  8:59     ` Linus Walleij
2024-08-28 15:24     ` Andrea della Porta
2024-08-28 15:24       ` Andrea della Porta
2024-09-02  8:31       ` Linus Walleij
2024-08-20 14:36 ` [PATCH 08/11] misc: rp1: RaspberryPi RP1 misc driver Andrea della Porta
2024-08-21  8:38   ` Krzysztof Kozlowski
2024-08-21  8:38     ` Krzysztof Kozlowski
2024-08-21 14:20     ` Krzysztof Kozlowski
2024-08-21 14:20       ` Krzysztof Kozlowski
2024-08-22 14:33       ` Andrea della Porta
2024-08-22 14:33         ` Andrea della Porta
2024-08-22 14:46         ` Krzysztof Kozlowski
2024-08-30 13:49     ` Andrea della Porta
2024-08-30 13:49       ` Andrea della Porta
2024-08-30 14:21       ` Andrew Lunn
2024-08-30 14:21         ` Andrew Lunn
2024-09-03 14:56         ` Andrea della Porta
2024-09-03 14:56           ` Andrea della Porta
2024-08-30 16:52       ` Krzysztof Kozlowski
2024-08-30 16:52         ` Krzysztof Kozlowski
2024-09-03 15:15         ` Andrea della Porta
2024-09-03 15:15           ` Andrea della Porta
2024-09-03 18:27           ` Krzysztof Kozlowski
2024-09-03 18:27             ` Krzysztof Kozlowski
2024-09-05 16:33             ` Andrea della Porta
2024-09-05 16:33               ` Andrea della Porta
2024-09-05 16:52               ` Krzysztof Kozlowski
2024-09-05 16:52                 ` Krzysztof Kozlowski
2024-09-05 18:54                 ` Andrea della Porta
2024-09-05 18:54                   ` Andrea della Porta
2024-09-05 21:20                   ` Krzysztof Kozlowski
2024-09-05 21:20                     ` Krzysztof Kozlowski
2024-08-21 13:07   ` kernel test robot
2024-08-21 13:49   ` kernel test robot
2024-08-21 16:20   ` Stefan Wahren
2024-08-23  9:44     ` Andrea della Porta
2024-08-23  9:44       ` Andrea della Porta
2024-08-23 10:23       ` Stefan Wahren
2024-08-23 16:31         ` Andrea della Porta
2024-08-23 16:31           ` Andrea della Porta
2024-08-30 18:27           ` Rob Herring
2024-08-30 18:27             ` Rob Herring
2024-09-02  9:34             ` Andrea della Porta
2024-09-02  9:34               ` Andrea della Porta
2024-08-21 16:55   ` Bjorn Helgaas
2024-08-21 16:55     ` Bjorn Helgaas
2024-08-23 10:21     ` Andrea della Porta
2024-08-23 10:21       ` Andrea della Porta
2024-08-21 17:56   ` kernel test robot
2024-08-24  1:53   ` Greg Kroah-Hartman
2024-08-24  1:53     ` Greg Kroah-Hartman
2024-08-26  9:07     ` Andrea della Porta
2024-08-26  9:07       ` Andrea della Porta
2024-08-26  9:18       ` Greg Kroah-Hartman
2024-08-20 14:36 ` [PATCH 09/11] arm64: defconfig: Enable RP1 misc/clock/gpio drivers as built-in Andrea della Porta
2024-08-21  8:47   ` Krzysztof Kozlowski
2024-08-21  8:47     ` Krzysztof Kozlowski
2024-08-30 22:24     ` Andrea della Porta
2024-08-30 22:24       ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 10/11] net: macb: Add support for RP1's MACB variant Andrea della Porta
2024-08-20 15:13   ` Andrew Lunn
2024-08-20 15:13     ` Andrew Lunn
2024-08-20 18:31     ` Andrea della Porta
2024-08-20 18:31       ` Andrea della Porta
2024-08-21  8:49   ` Krzysztof Kozlowski
2024-08-21  8:49     ` Krzysztof Kozlowski
2024-08-30 22:32     ` Andrea della Porta
2024-08-30 22:32       ` Andrea della Porta
2024-08-21 17:01   ` Florian Fainelli
2024-08-26 20:03     ` Andrea della Porta
2024-08-26 20:03       ` Andrea della Porta
2024-08-20 14:36 ` [PATCH 11/11] arm64: dts: rp1: Add support for MACB contained in RP1 Andrea della Porta
2024-08-21  8:43   ` Krzysztof Kozlowski
2024-08-21  8:43     ` Krzysztof Kozlowski
2024-08-30 22:33     ` Andrea della Porta
2024-08-30 22:33       ` Andrea della Porta
2024-08-21 17:02   ` Florian Fainelli
2024-08-26 20:18     ` Andrea della Porta
2024-08-26 20:18       ` Andrea della Porta
2024-08-21 13:42 ` [PATCH 00/11] Add support for RaspberryPi RP1 PCI device using a DT overlay Krzysztof Kozlowski
2024-08-21 13:42   ` Krzysztof Kozlowski
2024-08-22  9:05   ` Andrea della Porta
2024-08-22  9:05     ` Andrea della Porta
2024-08-22  9:50     ` Krzysztof Kozlowski
2024-08-29 13:11       ` Andrea della Porta
2024-08-29 13:11         ` Andrea della Porta
2024-08-22 13:04     ` Andrew Lunn
2024-08-29 12:01       ` Andrea della Porta
2024-08-29 12:01         ` Andrea della Porta
2024-08-29 13:04         ` Andrew Lunn
2024-08-29 13:13           ` Andrea della Porta
2024-08-29 13:13             ` Andrea della Porta
2024-08-30  5:21           ` Andrea della Porta
2024-08-30  5:21             ` Andrea della Porta
2024-08-30 14:10             ` Andrew Lunn
2024-08-30 14:10               ` Andrew Lunn
2024-09-02  9:21               ` Andrea della Porta
2024-09-02  9:21                 ` Andrea della Porta

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=ZwJyk9XouLfd24VG@apocalypse \
    --to=andrea.porta@suse.com \
    --cc=andrew@lunn.ch \
    --cc=arnd@arndb.de \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=derek.kiernan@amd.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dragan.cvetic@amd.com \
    --cc=edumazet@google.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=helgaas@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=lee@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=lizhi.hou@amd.com \
    --cc=mturquette@baylibre.com \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=wahrenst@gmx.net \
    --cc=will@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.