drivers/pci/controller/dwc/pcie-designware.c | 28 +++++++------------- drivers/pci/pci.h | 23 ++++++++++++++++ drivers/pci/pcie/bwctrl.c | 22 --------------- 3 files changed, 32 insertions(+), 41 deletions(-)
This series refactors PCIe speed validation and conversion logic to shared functions in the public header, eliminating code duplication and ensuring consistency across drivers. --- Changes for v7: - patch 0002 add #include <asm/bug.h> (Ilpo) - s/u32 link_speed/enum pci_bus_speed link_speed/ (Ilpo) - The return value of pci_bus_speed2lnkctl2 uses the variable ctrl2_speed to avoid the abuse of variable types. (Ilpo) Changes for v6: https://patchwork.kernel.org/project/linux-pci/patch/20260406105613.1228673-1-18255117159@163.com/ - missing one line of code: link_speed = pcie_get_link_speed(pci->max_link_speed); Changes for v5: https://patchwork.kernel.org/project/linux-pci/patch/20260406104708.1218648-1-18255117159@163.com/ - Rebase to v7.0-rc1. (pci/next tree) Changes for v4: https://patchwork.kernel.org/project/linux-pci/patch/20251102143206.111347-1-18255117159@163.com/ - Maintain O(1) array-based lookup for speed conversion (addressing performance concerns from v3 feedback) - Move pcie_valid_speed() and pci_bus_speed2lnkctl2() to pci.h - Update dwc driver to use the shared functions - Rebase to v6.18-rc3. This addresses the feedback from Lukas Wunner and Manivannan Sadhasivam on the v3 submission, ensuring no runtime performance regression while achieving code reuse. Changes for v3: https://patchwork.kernel.org/project/linux-pci/patch/20250816154633.338653-1-18255117159@163.com/ - Rebase to v6.17-rc1. - Gentle ping. Changes for v2: - s/PCIE_SPEED2LNKCTL2_TLS_ENC/PCIE_SPEED2LNKCTL2_TLS - The patch commit message were modified. --- Hans Zhang (3): PCI: Add public pcie_valid_speed() for shared validation PCI: Move pci_bus_speed2lnkctl2() to public header PCI: dwc: Use common speed conversion function drivers/pci/controller/dwc/pcie-designware.c | 28 +++++++------------- drivers/pci/pci.h | 23 ++++++++++++++++ drivers/pci/pcie/bwctrl.c | 22 --------------- 3 files changed, 32 insertions(+), 41 deletions(-) base-commit: 525e91d84dc085492b36d4b87abb7c1cc93fcb44 -- 2.34.1
Hello Bjorn, Gentle ping. Please take a look at this series. Best regards, Hans On 4/7/26 21:04, Hans Zhang wrote: > This series refactors PCIe speed validation and conversion logic to > shared functions in the public header, eliminating code duplication > and ensuring consistency across drivers. > > --- > Changes for v7: > - patch 0002 add #include <asm/bug.h> (Ilpo) > - s/u32 link_speed/enum pci_bus_speed link_speed/ (Ilpo) > - The return value of pci_bus_speed2lnkctl2 uses the variable ctrl2_speed > to avoid the abuse of variable types. (Ilpo) > > Changes for v6: > https://patchwork.kernel.org/project/linux-pci/patch/20260406105613.1228673-1-18255117159@163.com/ > > - missing one line of code: > link_speed = pcie_get_link_speed(pci->max_link_speed); > > Changes for v5: > https://patchwork.kernel.org/project/linux-pci/patch/20260406104708.1218648-1-18255117159@163.com/ > > - Rebase to v7.0-rc1. (pci/next tree) > > Changes for v4: > https://patchwork.kernel.org/project/linux-pci/patch/20251102143206.111347-1-18255117159@163.com/ > > - Maintain O(1) array-based lookup for speed conversion (addressing > performance concerns from v3 feedback) > - Move pcie_valid_speed() and pci_bus_speed2lnkctl2() to pci.h > - Update dwc driver to use the shared functions > - Rebase to v6.18-rc3. > > This addresses the feedback from Lukas Wunner and Manivannan Sadhasivam > on the v3 submission, ensuring no runtime performance regression while > achieving code reuse. > > Changes for v3: > https://patchwork.kernel.org/project/linux-pci/patch/20250816154633.338653-1-18255117159@163.com/ > > - Rebase to v6.17-rc1. > - Gentle ping. > > Changes for v2: > - s/PCIE_SPEED2LNKCTL2_TLS_ENC/PCIE_SPEED2LNKCTL2_TLS > - The patch commit message were modified. > --- > > Hans Zhang (3): > PCI: Add public pcie_valid_speed() for shared validation > PCI: Move pci_bus_speed2lnkctl2() to public header > PCI: dwc: Use common speed conversion function > > drivers/pci/controller/dwc/pcie-designware.c | 28 +++++++------------- > drivers/pci/pci.h | 23 ++++++++++++++++ > drivers/pci/pcie/bwctrl.c | 22 --------------- > 3 files changed, 32 insertions(+), 41 deletions(-) > > > base-commit: 525e91d84dc085492b36d4b87abb7c1cc93fcb44
Hi Bjorn, Gentle ping. Best regards, Hans On 4/7/26 21:04, Hans Zhang wrote: > This series refactors PCIe speed validation and conversion logic to > shared functions in the public header, eliminating code duplication > and ensuring consistency across drivers. > > --- > Changes for v7: > - patch 0002 add #include <asm/bug.h> (Ilpo) > - s/u32 link_speed/enum pci_bus_speed link_speed/ (Ilpo) > - The return value of pci_bus_speed2lnkctl2 uses the variable ctrl2_speed > to avoid the abuse of variable types. (Ilpo) > > Changes for v6: > https://patchwork.kernel.org/project/linux-pci/patch/20260406105613.1228673-1-18255117159@163.com/ > > - missing one line of code: > link_speed = pcie_get_link_speed(pci->max_link_speed); > > Changes for v5: > https://patchwork.kernel.org/project/linux-pci/patch/20260406104708.1218648-1-18255117159@163.com/ > > - Rebase to v7.0-rc1. (pci/next tree) > > Changes for v4: > https://patchwork.kernel.org/project/linux-pci/patch/20251102143206.111347-1-18255117159@163.com/ > > - Maintain O(1) array-based lookup for speed conversion (addressing > performance concerns from v3 feedback) > - Move pcie_valid_speed() and pci_bus_speed2lnkctl2() to pci.h > - Update dwc driver to use the shared functions > - Rebase to v6.18-rc3. > > This addresses the feedback from Lukas Wunner and Manivannan Sadhasivam > on the v3 submission, ensuring no runtime performance regression while > achieving code reuse. > > Changes for v3: > https://patchwork.kernel.org/project/linux-pci/patch/20250816154633.338653-1-18255117159@163.com/ > > - Rebase to v6.17-rc1. > - Gentle ping. > > Changes for v2: > - s/PCIE_SPEED2LNKCTL2_TLS_ENC/PCIE_SPEED2LNKCTL2_TLS > - The patch commit message were modified. > --- > > Hans Zhang (3): > PCI: Add public pcie_valid_speed() for shared validation > PCI: Move pci_bus_speed2lnkctl2() to public header > PCI: dwc: Use common speed conversion function > > drivers/pci/controller/dwc/pcie-designware.c | 28 +++++++------------- > drivers/pci/pci.h | 23 ++++++++++++++++ > drivers/pci/pcie/bwctrl.c | 22 --------------- > 3 files changed, 32 insertions(+), 41 deletions(-) > > > base-commit: 525e91d84dc085492b36d4b87abb7c1cc93fcb44
Hi Bjorn, May I ask if there's any chance for this series to be included in v7.1? Best regards, Hans On 4/7/26 21:04, Hans Zhang wrote: > This series refactors PCIe speed validation and conversion logic to > shared functions in the public header, eliminating code duplication > and ensuring consistency across drivers. > > --- > Changes for v7: > - patch 0002 add #include <asm/bug.h> (Ilpo) > - s/u32 link_speed/enum pci_bus_speed link_speed/ (Ilpo) > - The return value of pci_bus_speed2lnkctl2 uses the variable ctrl2_speed > to avoid the abuse of variable types. (Ilpo) > > Changes for v6: > https://patchwork.kernel.org/project/linux-pci/patch/20260406105613.1228673-1-18255117159@163.com/ > > - missing one line of code: > link_speed = pcie_get_link_speed(pci->max_link_speed); > > Changes for v5: > https://patchwork.kernel.org/project/linux-pci/patch/20260406104708.1218648-1-18255117159@163.com/ > > - Rebase to v7.0-rc1. (pci/next tree) > > Changes for v4: > https://patchwork.kernel.org/project/linux-pci/patch/20251102143206.111347-1-18255117159@163.com/ > > - Maintain O(1) array-based lookup for speed conversion (addressing > performance concerns from v3 feedback) > - Move pcie_valid_speed() and pci_bus_speed2lnkctl2() to pci.h > - Update dwc driver to use the shared functions > - Rebase to v6.18-rc3. > > This addresses the feedback from Lukas Wunner and Manivannan Sadhasivam > on the v3 submission, ensuring no runtime performance regression while > achieving code reuse. > > Changes for v3: > https://patchwork.kernel.org/project/linux-pci/patch/20250816154633.338653-1-18255117159@163.com/ > > - Rebase to v6.17-rc1. > - Gentle ping. > > Changes for v2: > - s/PCIE_SPEED2LNKCTL2_TLS_ENC/PCIE_SPEED2LNKCTL2_TLS > - The patch commit message were modified. > --- > > Hans Zhang (3): > PCI: Add public pcie_valid_speed() for shared validation > PCI: Move pci_bus_speed2lnkctl2() to public header > PCI: dwc: Use common speed conversion function > > drivers/pci/controller/dwc/pcie-designware.c | 28 +++++++------------- > drivers/pci/pci.h | 23 ++++++++++++++++ > drivers/pci/pcie/bwctrl.c | 22 --------------- > 3 files changed, 32 insertions(+), 41 deletions(-) > > > base-commit: 525e91d84dc085492b36d4b87abb7c1cc93fcb44
© 2016 - 2026 Red Hat, Inc.