Re: [PATCH v2 0/4] Refactoring Microchip PCIe driver and add StarFive PCIe

From: Emil Renner Berthing
Date: Sat Aug 05 2023 - 09:05:42 EST


On Thu, 27 Jul 2023 at 12:40, Minda Chen <minda.chen@xxxxxxxxxxxxxxxx> wrote:
>
> This patchset final purpose is add PCIe driver for StarFive JH7110 SoC.
> JH7110 using PLDA XpressRICH PCIe IP. Microchip PolarFire Using the
> same IP and have commit their codes, which are mixed with PLDA
> controller codes and Microchip platform codes.
>
> For re-use the PLDA controller codes, I request refactoring microchip
> codes, move PLDA common codes to PLDA files.
> Desigware and Cadence is good example for refactoring codes.
>
> So first step is extract the PLDA common codes from microchip, and
> refactoring the microchip codes.(patch1 - 2)
> Then, add Starfive codes. (patch3 - 4)
>
> This patchset is base on v6.5-rc1
>
> patch1 is move PLDA XpressRICH PCIe host common properties dt-binding
> docs from microchip,pcie-host.yaml
> patch2 is extracting the PLDA common codes from microchip Polarfire PCIe
> codes. The change list in the commit message.
> patch3 is add StarFive JH7110 PCIe dt-binding doc.
> patch4 is add StarFive JH7110 Soc PCIe codes.

Hi Minda,

To test this series properly it needs matching nodes in the VisionFive
2 device trees, but it seems to be missing from this version of the
patch series. If I apply the device tree patch from v1 I get errors
like this:

pcie-starfive 2b000000.pcie: invalid resource (null)
pcie-starfive 2b000000.pcie: error -EINVAL: failed to map reg memory

It would be great if you included the device tree patch in the next
series so this can actually be tested.

/Emil

> I have noticed that Daire have changed microchip's codes.
> https://patchwork.kernel.org/project/linux-pci/cover/20230630154859.2049521-1-daire.mcnamara@xxxxxxxxxxxxx/
> I have changed patch2 base on their commits. StarFive
> PCIe driver still can work. But their codes is under reviewed and
> maybe changing. Do not base on their changes first.
> I will base on their commit to change patch2 as soon as
> their commits are accepted.
>
> previous version:
> v1:https://patchwork.kernel.org/project/linux-pci/cover/20230719102057.22329-1-minda.chen@xxxxxxxxxxxxxxxx/
>
> change:
> v2:
> patch1:
> - squash dt-bindings patches to patch1
> - add 'required' list.
> - plda doc rename to plda,xpressrich-axi-common.yaml
> patch2:
> - squash the microchip modification patch to patch 2.
> patch3:
> - remove the plda common required property.
> patch4:
> - Sync the hide rc bar ops with config read function.
> - Revert the T_PVPERL to 100ms and add comments for the source.
> - Replace the link check function by the standard link ops.
> - Convert to new pm ops marcos.
> - Some formats modification.
> - pcie-plda-host modification merge to patch4.
> other:
> - remove the pcie-plda-plat.c
> - remove the starfive dts patch first. for it depends on
> stg clock and syscon setting.
>
> Minda Chen (4):
> dt-bindings: PCI: Add PLDA XpressRICH PCIe host common properties
> PCI: plda: Get common codes from Microchip PolarFire host
> dt-bindings: PCI: Add StarFive JH7110 PCIe controller
> PCI: starfive: Add JH7110 PCIe controller
>
> .../bindings/pci/microchip,pcie-host.yaml | 49 +-
> .../pci/plda,xpressrich3-axi-common.yaml | 69 ++
> .../bindings/pci/starfive,jh7110-pcie.yaml | 133 ++++
> MAINTAINERS | 19 +-
> drivers/pci/controller/Kconfig | 9 +-
> drivers/pci/controller/Makefile | 2 +-
> drivers/pci/controller/plda/Kconfig | 31 +
> drivers/pci/controller/plda/Makefile | 4 +
> .../{ => plda}/pcie-microchip-host.c | 594 ++--------------
> drivers/pci/controller/plda/pcie-plda-host.c | 665 ++++++++++++++++++
> drivers/pci/controller/plda/pcie-plda.h | 242 +++++++
> drivers/pci/controller/plda/pcie-starfive.c | 438 ++++++++++++
> 12 files changed, 1645 insertions(+), 610 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml
> create mode 100644 Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
> create mode 100644 drivers/pci/controller/plda/Kconfig
> create mode 100644 drivers/pci/controller/plda/Makefile
> rename drivers/pci/controller/{ => plda}/pcie-microchip-host.c (50%)
> create mode 100644 drivers/pci/controller/plda/pcie-plda-host.c
> create mode 100644 drivers/pci/controller/plda/pcie-plda.h
> create mode 100644 drivers/pci/controller/plda/pcie-starfive.c
>
>
> base-commit: 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5
> --
> 2.17.1
>