mbox series

[v3,00/13] treewide: PCI: renesas: Add R-Car Gen4 PCIe support

Message ID 20220701085420.870306-1-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
Headers show
Series treewide: PCI: renesas: Add R-Car Gen4 PCIe support | expand

Message

Yoshihiro Shimoda July 1, 2022, 8:54 a.m. UTC
Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
To support them, modify PCIe DesignWare common codes.

Changes from v2:
 - Remove some unneeded functions in patch [09/13].
 - Fix error messages in patch [09/13].
 - Rebase implementation of patch [10/13] on patch [09/13].
 https://lore.kernel.org/all/20220627122417.809615-1-yoshihiro.shimoda.uh@renesas.com/

Changes from v1:
 - Fix a lot of warning/errors by 'make DT_CHECKER_FLAGS=-m dt_binding_check'.
 - Add PCI_EXP_LNKCAP_MLW macros into pci_regs.h
 - Remove "extern" in pcie-rcar-gen4.h.
 - Add ep_pre_init() into dw_pcie_ep_ops for this controller.
 - Add a new flag "reset_all_bars" into dw_pcie_ep. If this way is acceptable,
   I'll make patches for other endpoint controllers to simplify.
 - Move timing of getting num-lanes property for {ep_pre,host}_init().
 - Remove some platform_get_resource().
 - Remove "struct rcar_gen4_pcie_ep".
 - Allow a kernel module for both host and ep of this controller.
 - Minor fixes for checkpatch.pl.
 https://lore.kernel.org/all/20220613115712.2831386-1-yoshihiro.shimoda.uh@renesas.com/

Yoshihiro Shimoda (13):
  PCI: Add PCI_EXP_LNKCAP_MLW macros
  PCI: controller: dwc: Expose dw_pcie_ep_exit() to module
  PCI: dwc: Add ep_pre_init() callback to dw_pcie_ep_ops
  PCI: dwc: Add reset_all_bars flag
  PCI: dwc: endpoint: Read num-lanes property before ep_pre_init()
  PCI: dwc: host: Read num-lanes property before host_init()
  dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Host
  dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Endpoint
  PCI: renesas: Add R-Car Gen4 PCIe Host support
  PCI: renesas: Add R-Car Gen4 PCIe Endpoint support
  MAINTAINERS: Update PCI DRIVER FOR RENESAS R-CAR for R-Car Gen4
  arm64: dts: renesas: r8a779f0: Add PCIe Host and Endpoint nodes
  arm64: dts: renesas: r8a779f0: spider: Enable PCIe Host ch0

 .../bindings/pci/rcar-gen4-pci-ep.yaml        |  99 +++++++++
 .../bindings/pci/rcar-gen4-pci-host.yaml      |  97 +++++++++
 MAINTAINERS                                   |   1 +
 .../boot/dts/renesas/r8a779f0-spider-cpu.dtsi |  39 ++++
 arch/arm64/boot/dts/renesas/r8a779f0.dtsi     | 118 +++++++++++
 drivers/pci/controller/dwc/Kconfig            |  18 ++
 drivers/pci/controller/dwc/Makefile           |   4 +
 .../pci/controller/dwc/pcie-designware-ep.c   |  16 ++
 .../pci/controller/dwc/pcie-designware-host.c |   2 +
 drivers/pci/controller/dwc/pcie-designware.c  |   1 -
 drivers/pci/controller/dwc/pcie-designware.h  |   2 +
 .../pci/controller/dwc/pcie-rcar-gen4-ep.c    | 182 ++++++++++++++++
 .../pci/controller/dwc/pcie-rcar-gen4-host.c  | 195 ++++++++++++++++++
 drivers/pci/controller/dwc/pcie-rcar-gen4.c   | 178 ++++++++++++++++
 drivers/pci/controller/dwc/pcie-rcar-gen4.h   |  61 ++++++
 include/uapi/linux/pci_regs.h                 |   7 +
 16 files changed, 1019 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/pci/rcar-gen4-pci-ep.yaml
 create mode 100644 Documentation/devicetree/bindings/pci/rcar-gen4-pci-host.yaml
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4-ep.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4-host.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4.h

Comments

Yoshihiro Shimoda July 8, 2022, 11:34 a.m. UTC | #1
Hi,

> From: Yoshihiro Shimoda, Sent: Friday, July 1, 2022 5:54 PM
> 
> Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> To support them, modify PCIe DesignWare common codes.

I realized that Linux-next has some patches for dwc common code.
Also, in-the-middle patches for dec common codes exist on the Linux-pci ML:

[RESEND,v4,00/15] PCI: dwc: Add hw version and dma-ranges support
https://patchwork.kernel.org/project/linux-pci/list/?series=653624

[v3,00/17] PCI: dwc: Add generic resources and Baikal-T1 support
https://patchwork.kernel.org/project/linux-pci/list/?series=649194&state=*

[v3,00/24] dmaengine: dw-edma: Add RP/EP local DMA controllers support
https://patchwork.kernel.org/project/linux-dmaengine/list/?series=649204

So, I'll rebase this patch series on them.

Best regards,
Yoshihiro Shimoda