Re: [PATCHv4 00/28] PCI: refactor Mobiveil driver and add PCIe Gen4 driver for NXP Layerscape SoCs
From: Lorenzo Pieralisi
Date: Tue Mar 26 2019 - 13:37:39 EST
On Mon, Mar 11, 2019 at 09:29:54AM +0000, Z.q. Hou wrote:
> From: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx>
>
> This patch set is aim to refactor the Mobiveil driver and add
> PCIe support for NXP Layerscape series SoCs integrated Mobiveil's
> PCIe Gen4 controller.
>
> Hou Zhiqiang (28):
> PCI: mobiveil: uniform the register accessors
> PCI: mobiveil: format the code without function change
> PCI: mobiveil: correct the returned error number
> PCI: mobiveil: remove flag MSI_FLAG_MULTI_PCI_MSI
> PCI: mobiveil: correct PCI base address in MEM/IO outbound windows
> PCI: mobiveil: replace the resource list iteration function
> PCI: mobiveil: use WIN_NUM_0 explicitly for CFG outbound window
> PCI: mobiveil: use the 1st inbound window for MEM inbound transactions
> PCI: mobiveil: correct inbound/outbound window setup routines
> PCI: mobiveil: fix the INTx process error
> PCI: mobiveil: only fix up the Class Code field
> PCI: mobiveil: move out the link up waiting from mobiveil_host_init
> PCI: mobiveil: move irq chained handler setup out of DT parse
> PCI: mobiveil: initialize Primary/Secondary/Subordinate bus number
> dt-bindings: pci: mobiveil: change gpio_slave and apb_csr to optional
> PCI: mobiveil: refactor Mobiveil PCIe Host Bridge IP driver
> PCI: mobiveil: fix the checking of valid device
> PCI: mobiveil: add link up condition check
> PCI: mobiveil: continue to initialize the host upon no PCIe link
> PCI: mobiveil: disabled IB and OB windows set by bootloader
> PCI: mobiveil: add Byte and Half-Word width register accessors
> PCI: mobiveil: make mobiveil_host_init can be used to re-init host
> dt-bindings: pci: Add NXP Layerscape SoCs PCIe Gen4 controller
> PCI: mobiveil: add PCIe Gen4 RC driver for NXP Layerscape SoCs
> PCI: mobiveil: ls_pcie_g4: add Workaround for A-011577
> PCI: mobiveil: ls_pcie_g4: add Workaround for A-011451
> arm64: dts: freescale: lx2160a: add pcie DT nodes
> arm64: defconfig: Enable CONFIG_PCI_LAYERSCAPE_GEN4
>
> .../bindings/pci/layerscape-pci-gen4.txt | 52 ++
> .../devicetree/bindings/pci/mobiveil-pcie.txt | 2 +
> MAINTAINERS | 10 +-
> .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 163 ++++
> arch/arm64/configs/defconfig | 1 +
> drivers/pci/controller/Kconfig | 11 +-
> drivers/pci/controller/Makefile | 2 +-
> drivers/pci/controller/mobiveil/Kconfig | 34 +
> drivers/pci/controller/mobiveil/Makefile | 5 +
> .../controller/mobiveil/pci-layerscape-gen4.c | 306 +++++++
> .../controller/mobiveil/pcie-mobiveil-host.c | 640 +++++++++++++
> .../controller/mobiveil/pcie-mobiveil-plat.c | 54 ++
> .../pci/controller/mobiveil/pcie-mobiveil.c | 246 +++++
> .../pci/controller/mobiveil/pcie-mobiveil.h | 229 +++++
> drivers/pci/controller/pcie-mobiveil.c | 861 ------------------
> 15 files changed, 1743 insertions(+), 873 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/pci/layerscape-pci-gen4.txt
> create mode 100644 drivers/pci/controller/mobiveil/Kconfig
> create mode 100644 drivers/pci/controller/mobiveil/Makefile
> create mode 100644 drivers/pci/controller/mobiveil/pci-layerscape-gen4.c
> create mode 100644 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
> create mode 100644 drivers/pci/controller/mobiveil/pcie-mobiveil-plat.c
> create mode 100644 drivers/pci/controller/mobiveil/pcie-mobiveil.c
> create mode 100644 drivers/pci/controller/mobiveil/pcie-mobiveil.h
> delete mode 100644 drivers/pci/controller/pcie-mobiveil.c
This patch series is a mixture of fixes, refactoring and development
and to be frank it is a bit hard to review. Keeping in mind all
the review comments already received and that I expect you to integrate,
do you mind splitting it in logical series each one serving a specific
purpose (eg fixes, Layerscape support, etc.) ?
Let's start with posting and merging the fixes first.
Thank you very much.
Lorenzo