* [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed()
[not found] <mid:20260501202438.376033-1-florian.fainelli@broadcom.com>
@ 2026-05-06 16:45 ` Florian Fainelli
2026-05-06 17:08 ` Manivannan Sadhasivam
2026-05-07 2:55 ` Hans Zhang
0 siblings, 2 replies; 4+ messages in thread
From: Florian Fainelli @ 2026-05-06 16:45 UTC (permalink / raw)
To: linux-pci
Cc: Florian Fainelli, Dom Cobley, Phil Elwell, Jim Quinlan,
Broadcom internal kernel review list, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam, Rob Herring,
Bjorn Helgaas, Hans Zhang,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list
After commit 03f920936977 ("PCI: controller: Validate max-link-speed"),
pcie->gen stopped being assigned and as a result the established PCIe
link would stop supporting Gen3 speeds on 2712 since pcie->gen is used
to populate LnkCntl2 and LnkCap in brcm_pcie_set_gen().
Whether the 'max-link-speed' property is not specified, or it exceeds
Gen3, resort to the HW defaults.
Link: https://github.com/raspberrypi/linux/issues/7343
Reported-by: Dom Cobley <popcornmix@gmail.com>
Reported-by: Phil Elwell <phil@raspberrypi.com>
Fixes: 03f920936977 ("PCI: controller: Validate max-link-speed")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Change-Id: Ic5431469dd7a6c8b391f84f27119dad876256880
---
Changes in v2:
- utilize of_pci_get_max_link_speed() directly
- also validate against exceeding Gen3
drivers/pci/controller/pcie-brcmstb.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
index 714bcab97b60..08a0e7091ced 100644
--- a/drivers/pci/controller/pcie-brcmstb.c
+++ b/drivers/pci/controller/pcie-brcmstb.c
@@ -2072,8 +2072,10 @@ static int brcm_pcie_probe(struct platform_device *pdev)
return PTR_ERR(pcie->clk);
ret = of_pci_get_max_link_speed(np);
- if (pcie_get_link_speed(ret) == PCI_SPEED_UNKNOWN)
+ if (ret < 0 || ret > 3)
pcie->gen = 0;
+ else
+ pcie->gen = ret;
pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc");
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed()
2026-05-06 16:45 ` [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed() Florian Fainelli
@ 2026-05-06 17:08 ` Manivannan Sadhasivam
2026-05-06 18:15 ` Florian Fainelli
2026-05-07 2:55 ` Hans Zhang
1 sibling, 1 reply; 4+ messages in thread
From: Manivannan Sadhasivam @ 2026-05-06 17:08 UTC (permalink / raw)
To: Florian Fainelli
Cc: linux-pci, Dom Cobley, Phil Elwell, Jim Quinlan,
Broadcom internal kernel review list, Lorenzo Pieralisi,
Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas, Hans Zhang,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list
On Wed, May 06, 2026 at 09:45:37AM -0700, Florian Fainelli wrote:
> After commit 03f920936977 ("PCI: controller: Validate max-link-speed"),
> pcie->gen stopped being assigned and as a result the established PCIe
> link would stop supporting Gen3 speeds on 2712 since pcie->gen is used
> to populate LnkCntl2 and LnkCap in brcm_pcie_set_gen().
>
> Whether the 'max-link-speed' property is not specified, or it exceeds
> Gen3, resort to the HW defaults.
>
> Link: https://github.com/raspberrypi/linux/issues/7343
> Reported-by: Dom Cobley <popcornmix@gmail.com>
> Reported-by: Phil Elwell <phil@raspberrypi.com>
> Fixes: 03f920936977 ("PCI: controller: Validate max-link-speed")
> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Since this is a 7.1 material:
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
> Change-Id: Ic5431469dd7a6c8b391f84f27119dad876256880
This Change-Id is irrelevant to upstream.
- Mani
> ---
> Changes in v2:
>
> - utilize of_pci_get_max_link_speed() directly
> - also validate against exceeding Gen3
>
> drivers/pci/controller/pcie-brcmstb.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index 714bcab97b60..08a0e7091ced 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -2072,8 +2072,10 @@ static int brcm_pcie_probe(struct platform_device *pdev)
> return PTR_ERR(pcie->clk);
>
> ret = of_pci_get_max_link_speed(np);
> - if (pcie_get_link_speed(ret) == PCI_SPEED_UNKNOWN)
> + if (ret < 0 || ret > 3)
> pcie->gen = 0;
> + else
> + pcie->gen = ret;
>
> pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc");
>
> --
> 2.34.1
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed()
2026-05-06 17:08 ` Manivannan Sadhasivam
@ 2026-05-06 18:15 ` Florian Fainelli
0 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2026-05-06 18:15 UTC (permalink / raw)
To: Manivannan Sadhasivam, Florian Fainelli
Cc: linux-pci, Dom Cobley, Phil Elwell, Jim Quinlan,
Broadcom internal kernel review list, Lorenzo Pieralisi,
Krzysztof Wilczyński, Rob Herring, Bjorn Helgaas, Hans Zhang,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list
On 5/6/26 10:08, Manivannan Sadhasivam wrote:
> On Wed, May 06, 2026 at 09:45:37AM -0700, Florian Fainelli wrote:
>> After commit 03f920936977 ("PCI: controller: Validate max-link-speed"),
>> pcie->gen stopped being assigned and as a result the established PCIe
>> link would stop supporting Gen3 speeds on 2712 since pcie->gen is used
>> to populate LnkCntl2 and LnkCap in brcm_pcie_set_gen().
>>
>> Whether the 'max-link-speed' property is not specified, or it exceeds
>> Gen3, resort to the HW defaults.
>>
>> Link: https://github.com/raspberrypi/linux/issues/7343
>> Reported-by: Dom Cobley <popcornmix@gmail.com>
>> Reported-by: Phil Elwell <phil@raspberrypi.com>
>> Fixes: 03f920936977 ("PCI: controller: Validate max-link-speed")
>> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
>
> Since this is a 7.1 material:
>
> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Thanks!
>
>> Change-Id: Ic5431469dd7a6c8b391f84f27119dad876256880
>
> This Change-Id is irrelevant to upstream.
Should I resubmit or can it be stripped while applying?
--
Florian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed()
2026-05-06 16:45 ` [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed() Florian Fainelli
2026-05-06 17:08 ` Manivannan Sadhasivam
@ 2026-05-07 2:55 ` Hans Zhang
1 sibling, 0 replies; 4+ messages in thread
From: Hans Zhang @ 2026-05-07 2:55 UTC (permalink / raw)
To: Florian Fainelli, linux-pci
Cc: Dom Cobley, Phil Elwell, Jim Quinlan,
Broadcom internal kernel review list, Lorenzo Pieralisi,
Krzysztof Wilczyński, Manivannan Sadhasivam, Rob Herring,
Bjorn Helgaas,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
open list
On 5/7/26 00:45, Florian Fainelli wrote:
> After commit 03f920936977 ("PCI: controller: Validate max-link-speed"),
> pcie->gen stopped being assigned and as a result the established PCIe
> link would stop supporting Gen3 speeds on 2712 since pcie->gen is used
> to populate LnkCntl2 and LnkCap in brcm_pcie_set_gen().
>
> Whether the 'max-link-speed' property is not specified, or it exceeds
> Gen3, resort to the HW defaults.
>
> Link: https://github.com/raspberrypi/linux/issues/7343
> Reported-by: Dom Cobley <popcornmix@gmail.com>
> Reported-by: Phil Elwell <phil@raspberrypi.com>
> Fixes: 03f920936977 ("PCI: controller: Validate max-link-speed")
> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
> Change-Id: Ic5431469dd7a6c8b391f84f27119dad876256880
Reviewed-by: Hans Zhang <18255117159@163.com>
> ---
> Changes in v2:
>
> - utilize of_pci_get_max_link_speed() directly
> - also validate against exceeding Gen3
>
> drivers/pci/controller/pcie-brcmstb.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index 714bcab97b60..08a0e7091ced 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -2072,8 +2072,10 @@ static int brcm_pcie_probe(struct platform_device *pdev)
> return PTR_ERR(pcie->clk);
>
> ret = of_pci_get_max_link_speed(np);
> - if (pcie_get_link_speed(ret) == PCI_SPEED_UNKNOWN)
> + if (ret < 0 || ret > 3)
> pcie->gen = 0;
> + else
> + pcie->gen = ret;
>
> pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc");
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-07 2:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mid:20260501202438.376033-1-florian.fainelli@broadcom.com>
2026-05-06 16:45 ` [PATCH v2] PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed() Florian Fainelli
2026-05-06 17:08 ` Manivannan Sadhasivam
2026-05-06 18:15 ` Florian Fainelli
2026-05-07 2:55 ` Hans Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox