linux/drivers/pci/controller
Florian Fainelli ed831e7ea1 PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed()
After commit 03f9209369 ("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().

If 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: 03f9209369 ("PCI: controller: Validate max-link-speed")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Hans Zhang <18255117159@163.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20260506164537.103196-1-florian.fainelli@broadcom.com
2026-05-15 13:09:52 -05:00
..
cadence Merge branch 'pci/controller/cadence-sky1' 2026-04-13 12:50:09 -05:00
dwc pci-v7.1-changes 2026-04-15 14:41:21 -07:00
mobiveil PCI: mobiveil: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:02 -05:00
plda PCI: starfive: Use regulator APIs to control the 3v3 power supply of PCIe slots 2026-01-13 19:35:34 +05:30
Kconfig LoongArch changes for v7.1 2026-04-24 09:54:45 -07:00
Makefile PCI: aspeed: Add ASPEED PCIe RC driver 2025-12-23 21:25:20 +05:30
pci-aardvark.c PCI: aardvark: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pci-ftpci100.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pci-host-common.c PCI: host-generic: Avoid reporting incorrect 'missing reg property' error 2026-02-06 16:44:00 -06:00
pci-host-common.h PCI: host-generic: Move bridge allocation outside of pci_host_common_init() 2025-11-25 19:39:42 +05:30
pci-host-generic.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-hyperv-intf.c PCI: hv: remove unnecessary module_init/exit functions 2026-02-04 06:20:51 +00:00
pci-hyperv.c Drivers: hv: vmbus: Export hv_vmbus_exists() and use it in pci-hyperv 2026-04-14 04:42:44 +00:00
pci-ixp4xx.c PCI: ixp4xx: Guard ARM32-specific hook_fault_code() 2025-10-19 13:08:19 +05:30
pci-loongson.c
pci-mvebu.c PCI: mvebu: Fix use of for_each_of_range() iterator 2025-09-08 14:40:27 -05:00
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Allow building as a module 2025-12-26 10:57:17 -06:00
pci-thunder-ecam.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-thunder-pem.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c PCI: xgene-msi: Return negative -EINVAL in xgene_msi_handler_setup() 2025-08-11 16:30:43 +05:30
pci-xgene.c PCI: xgene: Drop XGENE_PCIE_IP_VER_UNKN 2025-07-22 15:33:16 -05:00
pcie-altera-msi.c PCI: altera-msi: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pcie-altera.c PCI: controller: Use dev_fwnode() instead of of_fwnode_handle() 2025-07-24 16:00:47 -05:00
pcie-apple.c PCI: host-generic: Move bridge allocation outside of pci_host_common_init() 2025-11-25 19:39:42 +05:30
pcie-aspeed.c PCI: aspeed: Fix IRQ domain leak on platform_get_irq() failure 2026-04-04 16:02:55 +05:30
pcie-brcmstb.c PCI: brcmstb: Assign pcie->gen from of_pci_get_max_link_speed() 2026-05-15 13:09:52 -05:00
pcie-hisi-error.c PCI: hisi: Use devm_ghes_register_vendor_record_notifier() 2026-04-06 16:48:58 +02:00
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-iproc-platform.c PCI: controller: Switch back to struct platform_driver::remove() 2024-10-03 16:44:49 -05:00
pcie-iproc.c PCI: iproc: Implement MSI controller node detection with of_msi_xlate() 2025-11-22 17:09:03 +01:00
pcie-iproc.h
pcie-mediatek-gen3.c Merge branch 'pci/controller/mediatek-gen3' 2026-04-13 12:50:48 -05:00
pcie-mediatek.c PCI: mediatek: Fix possible truncation in mtk_pcie_parse_port() 2026-03-21 17:46:51 +05:30
pcie-mt7621.c PCI: mt7621: Use helper function for_each_available_child_of_node_scoped() 2025-03-06 09:31:45 +00:00
pcie-rcar-ep.c PCI: endpoint: Do not mark the BAR succeeding a 64-bit BAR as BAR_RESERVED 2026-03-15 22:04:22 +05:30
pcie-rcar-host.c PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock 2025-09-25 18:05:12 -05:00
pcie-rcar.c
pcie-rcar.h
pcie-rockchip-ep.c PCI: endpoint: Drop superfluous pci_epc_features initialization 2025-08-14 10:42:42 -05:00
pcie-rockchip-host.c Merge branch 'pci/controller/rockchip-host' 2025-07-31 16:12:17 -05:00
pcie-rockchip.c PCI: rockchip: Refactor rockchip_pcie_disable_clocks() signature 2025-01-15 18:24:12 +00:00
pcie-rockchip.h PCI: rockchip: Switch to FIELD_PREP_WM16* macros 2025-09-02 20:06:47 -04:00
pcie-rzg3s-host.c Merge branch 'pci/controller/rzg3s-host' 2026-04-13 12:50:53 -05:00
pcie-xilinx-common.h
pcie-xilinx-cpm.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pcie-xilinx-dma-pl.c PCI: xilinx-xdma: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Fix ECAM programming 2025-09-29 16:37:23 -05:00
pcie-xilinx.c PCI: xilinx: Fix INTx IRQ domain leak in error paths 2025-12-23 17:57:47 +05:30
vmd.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00