Thread (6 messages) 6 messages, 4 authors, 2026-03-27

RE: [PATCH v2 0/2] PCI: dwc: Add multi-port controller support

From: Sherry Sun <hidden>
Date: 2026-03-12 04:01:50
Also in: imx, linux-amlogic, linux-arm-msm, linux-pci, linux-renesas-soc, linux-riscv, linux-samsung-soc, linux-tegra, lkml

Subject: [PATCH v2 0/2] PCI: dwc: Add multi-port controller support

This series adds support for multi-port PCIe controllers in the DesignWare driver.
Currently, the driver only supports a single Root Port with controller-level
properties, which doesn't work for multi-port controllers where each port may
have different configurations.

This series introduces a per-port structure and parsing API that allows each Root
Port to be configured independently via pcie@N child nodes in device tree, while
maintaining backward compatibility with existing single-port bindings.
Hi  Sumit,

Glad to see you've also added multi-root port support. A quick check shows this patch set seems somewhat similar to my recent patch set:
https://lore.kernel.org/all/20260310015426.365675-3-sherry.sun@nxp.com/ (local)
My patch set defines struct pci_host_port to hold common Root Port properties (currently only reset GPIO descriptor) and adds the pci_host_common_parse_ports() function to parse Root Port nodes from device tree.

The main difference is that I added the list of "ports" to struct pci_host_bridge for better maintain parsed Root Port information, while you added it to the DWC layer structure struct dw_pcie_rp.
Actually multi-porting isn't a DWC controller-specific feature and therefore should be added to the generic layer. Please correct me if I'm wrong.

Best Regards
Sherry
Signed-off-by: Sumit Kumar <redacted>
---
Changes in v2:
- Fix error code preservation in dw_pcie_resume_noirq() to return actual
  error from dw_pcie_wait_for_link() instead of hardcoded -ETIMEDOUT (Mani).
- Initialize ret variable to -ENOENT in dw_pcie_parse_root_ports() (Mani).
- dw_pcie_host_init(): Remove -ENOENT error skipping to make parsing
  failures fatal for now, add TODO comment about making properties
  optional later (Mani).
- Link to v1:
https://lore.kernel/
.org%2Fr%2F20260105-dt-parser-v1-0-
b11c63cb5e2c%40oss.qualcomm.com&data=05%7C02%7Csherry.sun%40nxp.co
m%7C136fbdfd37184ddb530b08de7a7f5e19%7C686ea1d3bc2b4c6fa92cd99c5c
301635%7C0%7C0%7C639082884622870739%7CUnknown%7CTWFpbGZsb3d8e
yJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiT
WFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=wE1pMUEgAKP9W7vqgSf
q7AprdJW2tJfnJ0rppFMtOIk%3D&reserved=0

---
Sumit Kumar (2):
      PCI: API changes for multi-port controller support
      PCI: dwc: Add multi-port controller support

 drivers/pci/controller/dwc/pci-exynos.c           |   4 +-
 drivers/pci/controller/dwc/pci-imx6.c             |  15 +-
 drivers/pci/controller/dwc/pci-meson.c            |   1 -
 drivers/pci/controller/dwc/pcie-designware-host.c | 175 ++++++++++++++++++-
---
 drivers/pci/controller/dwc/pcie-designware.c      |  32 ++--
 drivers/pci/controller/dwc/pcie-designware.h      |  17 ++-
 drivers/pci/controller/dwc/pcie-fu740.c           |   6 +-
 drivers/pci/controller/dwc/pcie-intel-gw.c        |  13 +-
 drivers/pci/controller/dwc/pcie-qcom-common.c     |   5 +-
 drivers/pci/controller/dwc/pcie-qcom-ep.c         |   4 +-
 drivers/pci/controller/dwc/pcie-qcom.c            |   4 +-
 drivers/pci/controller/dwc/pcie-rcar-gen4.c       |  13 +-
 drivers/pci/controller/dwc/pcie-spear13xx.c       |   5 +-
 drivers/pci/controller/dwc/pcie-tegra194.c        |   4 +-
 drivers/pci/of.c                                  |   6 +-
 drivers/pci/pci.h                                 |   2 +
 16 files changed, 232 insertions(+), 74 deletions(-)
---
base-commit: 097a6c336d0080725c626fda118ecfec448acd0f
change-id: 20251010-dt-parser-98b50ce18fc1

Best regards,
--
Sumit Kumar [off-list ref]
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help