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

From: Minda Chen
Date: Mon Aug 07 2023 - 02:59:11 EST




On 2023/8/5 21:05, Emil Renner Berthing wrote:
> 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
>
ok. thanks.
>> 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
>>