mbox series

[v20,00/19] PCI: rcar-gen4: Add R-Car Gen4 PCIe support

Message ID 20230825093219.2685912-1-yoshihiro.shimoda.uh@renesas.com
Headers show
Series PCI: rcar-gen4: Add R-Car Gen4 PCIe support | expand

Message

Yoshihiro Shimoda Aug. 25, 2023, 9:32 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 v19:
https://lore.kernel.org/linux-pci/20230823091153.2578417-1-yoshihiro.shimoda.uh@renesas.com/
 - Based on the latest pci.git / next branch and the following patches:
   [PATCH v3 0/2] Cleanup IRQ type definitions
   https://lore.kernel.org/linux-pci/20230802094036.1052472-1-dlemoal@kernel.org/
 - Rename PCI_MSG_TYPE_R_* macros in the patch 01/19.
 - Fix the comment in the patch 04/19.
 - Add Reviewed-by in the patch {06,1[2678]/19.
 - Modify common functions for the same method of clock handling in the patch
   1[78]/19.
 - Remove redundant gpio handling in the patch 16/19.

Changes from v18:
https://lore.kernel.org/linux-pci/20230721074452.65545-1-yoshihiro.shimoda.uh@renesas.com/
 - Based on the latest pci.git / next branch and the following patches:
   [PATCH v3 0/2] Cleanup IRQ type definitions
   https://lore.kernel.org/linux-pci/20230802094036.1052472-1-dlemoal@kernel.org/
 - Drop some patches about converting "legacy" to "INTx".
 - Add detailed description in the patch 0[26]/19.
 - Add a new patch "Expose dw_pcie_write_dbi2" in the patch 11/19.
 - Revise typo in the patch 12/19.
 - Fix calling order of deinit in the patch 12/19.
 - Revise Kconfig about kernel module names in the patch 1[67]/19.
 - Rename drivers' file names in the patch 1[67]/19.
 - Some other minor change/fix in the patch 1[67]/19.

Yoshihiro Shimoda (19):
  PCI: Add INTx Mechanism Messages macros
  PCI: dwc: Change arguments of dw_pcie_prog_outbound_atu()
  PCI: dwc: Add outbound MSG TLPs support
  PCI: designware-ep: Add INTx IRQs support
  PCI: dwc: endpoint: Add multiple PFs support for dbi2
  PCI: dwc: Add dw_pcie_link_set_max_link_width()
  PCI: dwc: Add missing PCI_EXP_LNKCAP_MLW handling
  PCI: tegra194: Drop PCI_EXP_LNKSTA_NLW setting
  PCI: dwc: Add EDMA_UNROLL capability flag
  PCI: dwc: Expose dw_pcie_ep_exit() to module
  PCI: dwc: Expose dw_pcie_write_dbi2() to module
  PCI: dwc: endpoint: Introduce .pre_init() and .deinit()
  dt-bindings: PCI: dwc: Update maxItems of reg and reg-names
  dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Host
  dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Endpoint
  PCI: rcar-gen4: Add R-Car Gen4 PCIe Host support
  PCI: rcar-gen4-ep: Add R-Car Gen4 PCIe Endpoint support
  MAINTAINERS: Update PCI DRIVER FOR RENESAS R-CAR for R-Car Gen4
  misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller

 .../bindings/pci/rcar-gen4-pci-ep.yaml        | 106 ++++++++
 .../bindings/pci/rcar-gen4-pci-host.yaml      | 123 ++++++++++
 .../bindings/pci/snps,dw-pcie-ep.yaml         |   4 +-
 .../devicetree/bindings/pci/snps,dw-pcie.yaml |   4 +-
 MAINTAINERS                                   |   1 +
 drivers/misc/pci_endpoint_test.c              |   4 +
 drivers/pci/controller/dwc/Kconfig            |  20 ++
 drivers/pci/controller/dwc/Makefile           |   4 +
 .../pci/controller/dwc/pcie-designware-ep.c   | 136 +++++++++--
 .../pci/controller/dwc/pcie-designware-host.c |  52 ++--
 drivers/pci/controller/dwc/pcie-designware.c  | 156 ++++++------
 drivers/pci/controller/dwc/pcie-designware.h  |  29 ++-
 .../controller/dwc/pcie-rcar-gen4-ep-drv.c    | 173 +++++++++++++
 .../controller/dwc/pcie-rcar-gen4-host-drv.c  | 135 +++++++++++
 drivers/pci/controller/dwc/pcie-rcar-gen4.c   | 227 ++++++++++++++++++
 drivers/pci/controller/dwc/pcie-rcar-gen4.h   |  44 ++++
 drivers/pci/controller/dwc/pcie-tegra194.c    |   6 -
 drivers/pci/pci.h                             |  18 ++
 18 files changed, 1111 insertions(+), 131 deletions(-)
 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-drv.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4-host-drv.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4.c
 create mode 100644 drivers/pci/controller/dwc/pcie-rcar-gen4.h

Comments

Krzysztof Wilczyński Aug. 27, 2023, 6:59 a.m. UTC | #1
Hello everyone!

> > Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> > To support them, modify PCIe DesignWare common codes.
> 
> No more comments from my side for this series. It looks good to me
> now. If you have nothing to note too please merge it in especially
> seeing it's already v20.)

Yes, it's about time we pull it.  Thank you everyone involved in the work
here, especially reviews (Sergey and Manivannan), as the series looks
amazing.

That said, some patches in the series do not apply cleanly against 6.5-rc1,
so I need to have a closer look a little bit later, hopefully I will be
able to get it in time before Bjorn sends his Pull Request.

シモダさん、

一連のシリーズお疲れ様でした!
特に、作業が少し前に開始され、レビューされるまでに時間がかかった点お手数をおかけいたしました
全ての要求変更の追加にご協力いただき、ありがとうございます。 個人的にも本当に有難いです。
ご担当いただいた仕事は素晴らしいものでした。 重ねてにはなりますが、どうもありがとう!

Thank you!

	Krzysztof
Krzysztof Wilczyński Aug. 27, 2023, 4:27 p.m. UTC | #2
Hello,

> Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> To support them, modify PCIe DesignWare common codes.

Applied to controller/rcar, thank you!

[01/19] PCI: Add INTx Mechanism Messages macros
        https://git.kernel.org/pci/pci/c/b6dc5750a17a
[02/19] PCI: dwc: Change arguments of dw_pcie_prog_outbound_atu()
        https://git.kernel.org/pci/pci/c/6cbd4d406cb0
[03/19] PCI: dwc: Add outbound MSG TLPs support
        https://git.kernel.org/pci/pci/c/6ab660b25520
[04/19] PCI: designware-ep: Add INTx IRQs support
        https://git.kernel.org/pci/pci/c/b788d6fd273e
[05/19] PCI: dwc: endpoint: Add multiple PFs support for dbi2
        https://git.kernel.org/pci/pci/c/6e4db9846cf4
[06/19] PCI: dwc: Add dw_pcie_link_set_max_link_width()
        https://git.kernel.org/pci/pci/c/d0f961f40da8
[07/19] PCI: dwc: Add missing PCI_EXP_LNKCAP_MLW handling
        https://git.kernel.org/pci/pci/c/a0473c77b4c1
[08/19] PCI: tegra194: Drop PCI_EXP_LNKSTA_NLW setting
        https://git.kernel.org/pci/pci/c/e45ff874cede
[09/19] PCI: dwc: Add EDMA_UNROLL capability flag
        https://git.kernel.org/pci/pci/c/2424c3ddbd4c
[10/19] PCI: dwc: Expose dw_pcie_ep_exit() to module
        https://git.kernel.org/pci/pci/c/3f937c80eb8e
[11/19] PCI: dwc: Expose dw_pcie_write_dbi2() to module
        https://git.kernel.org/pci/pci/c/a986f6fd339e
[12/19] PCI: dwc: endpoint: Introduce .pre_init() and .deinit()
        https://git.kernel.org/pci/pci/c/6504d294399e
[13/19] dt-bindings: PCI: dwc: Update maxItems of reg and reg-names
        https://git.kernel.org/pci/pci/c/5ca157f7d36c
[14/19] dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Host
        https://git.kernel.org/pci/pci/c/af285bc39885
[15/19] dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Endpoint
        https://git.kernel.org/pci/pci/c/738bded11aaa
[16/19] PCI: rcar-gen4: Add R-Car Gen4 PCIe Host support
        https://git.kernel.org/pci/pci/c/943a310da907
[17/19] PCI: rcar-gen4-ep: Add R-Car Gen4 PCIe Endpoint support
        https://git.kernel.org/pci/pci/c/db4499d11f46
[18/19] MAINTAINERS: Update PCI DRIVER FOR RENESAS R-CAR for R-Car Gen4
        https://git.kernel.org/pci/pci/c/2e0ef5776946
[19/19] misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
        https://git.kernel.org/pci/pci/c/33fa67818fe7

	Krzysztof
Yoshihiro Shimoda Aug. 28, 2023, 1:19 a.m. UTC | #3
Hello Krzysztof, Serge, Manivannan,

> From: Krzysztof Wilczyński, Sent: Sunday, August 27, 2023 3:59 PM
> 
> Hello everyone!
> 
> > > Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> > > To support them, modify PCIe DesignWare common codes.
> >
> > No more comments from my side for this series. It looks good to me
> > now. If you have nothing to note too please merge it in especially
> > seeing it's already v20.)
> 
> Yes, it's about time we pull it.  Thank you everyone involved in the work
> here, especially reviews (Sergey and Manivannan), as the series looks
> amazing.

Thank you very much for your support!

> That said, some patches in the series do not apply cleanly against 6.5-rc1,
> so I need to have a closer look a little bit later, hopefully I will be
> able to get it in time before Bjorn sends his Pull Request.

I'm sorry for bothering you about the conflict because my patch set is based on pci.git / next,
not 6.5-rc1... But, anyway, thank you for applying to controller/rcar!

> シモダさん、
> 
> 一連のシリーズお疲れ様でした!
> 特に、作業が少し前に開始され、レビューされるまでに時間がかかった点お手数をおかけいたしました
> 全ての要求変更の追加にご協力いただき、ありがとうございます。 個人的にも本当に有難いです。
> ご担当いただいた仕事は素晴らしいものでした。 重ねてにはなりますが、どうもありがとう!

Thank you for your comment in Japanese!
こちらこそ、ありがとうございました!

Best regards,
Yoshihiro Shimoda

> Thank you!
> 
> 	Krzysztof
Manivannan Sadhasivam Aug. 28, 2023, 6:37 a.m. UTC | #4
On Mon, Aug 28, 2023 at 01:19:17AM +0000, Yoshihiro Shimoda wrote:
> Hello Krzysztof, Serge, Manivannan,
> 
> > From: Krzysztof Wilczyński, Sent: Sunday, August 27, 2023 3:59 PM
> > 
> > Hello everyone!
> > 
> > > > Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> > > > To support them, modify PCIe DesignWare common codes.
> > >
> > > No more comments from my side for this series. It looks good to me
> > > now. If you have nothing to note too please merge it in especially
> > > seeing it's already v20.)
> > 
> > Yes, it's about time we pull it.  Thank you everyone involved in the work
> > here, especially reviews (Sergey and Manivannan), as the series looks
> > amazing.
> 
> Thank you very much for your support!
> 

Thanks for your patience and perseverance! And thanks a lot Sergey for helping
with the review.

- Mani

> > That said, some patches in the series do not apply cleanly against 6.5-rc1,
> > so I need to have a closer look a little bit later, hopefully I will be
> > able to get it in time before Bjorn sends his Pull Request.
> 
> I'm sorry for bothering you about the conflict because my patch set is based on pci.git / next,
> not 6.5-rc1... But, anyway, thank you for applying to controller/rcar!
> 
> > シモダさん、
> > 
> > 一連のシリーズお疲れ様でした!
> > 特に、作業が少し前に開始され、レビューされるまでに時間がかかった点お手数をおかけいたしました
> > 全ての要求変更の追加にご協力いただき、ありがとうございます。 個人的にも本当に有難いです。
> > ご担当いただいた仕事は素晴らしいものでした。 重ねてにはなりますが、どうもありがとう!
> 
> Thank you for your comment in Japanese!
> こちらこそ、ありがとうございました!
> 
> Best regards,
> Yoshihiro Shimoda
> 
> > Thank you!
> > 
> > 	Krzysztof
Yoshihiro Shimoda Aug. 29, 2023, 12:02 p.m. UTC | #5
Hi Serge,

> From: Serge Semin, Sent: Monday, August 28, 2023 10:58 PM
> 
> Hi Yoshihiro,
> 
> On Mon, Aug 28, 2023 at 01:19:17AM +0000, Yoshihiro Shimoda wrote:
> > Hello Krzysztof, Serge, Manivannan,
> >
> > > From: Krzysztof Wilczyński, Sent: Sunday, August 27, 2023 3:59 PM
> > >
> > > Hello everyone!
> > >
> > > > > Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> > > > > To support them, modify PCIe DesignWare common codes.
> > > >
> > > > No more comments from my side for this series. It looks good to me
> > > > now. If you have nothing to note too please merge it in especially
> > > > seeing it's already v20.)
> > >
> > > Yes, it's about time we pull it.  Thank you everyone involved in the work
> > > here, especially reviews (Sergey and Manivannan), as the series looks
> > > amazing.
> >
> > Thank you very much for your support!
> 
> It was my pleasure to be reviewing your patchset. Thanks you very much
> for the patience and strong eagerness to complete the turned out to be
> such a long-time procedure. I'm sorry if sometimes I acted too
> meticulous.) It was always done from out of reaching greater good.

I appreciate your support. My patch set became quite better by your kindly review!

Best regards,
Yoshihiro Shimoda

> Regards
> -Serge(y)
> 
> >
> > > That said, some patches in the series do not apply cleanly against 6.5-rc1,
> > > so I need to have a closer look a little bit later, hopefully I will be
> > > able to get it in time before Bjorn sends his Pull Request.
> >
> > I'm sorry for bothering you about the conflict because my patch set is based on pci.git / next,
> > not 6.5-rc1... But, anyway, thank you for applying to controller/rcar!
> >
> > > シモダさん、
> > >
> > > 一連のシリーズお疲れ様でした!
> > > 特に、作業が少し前に開始され、レビューされるまでに時間がかかった点お手数をおかけいたしました
> > > 全ての要求変更の追加にご協力いただき、ありがとうございます。 個人的にも本当に有難いです。
> > > ご担当いただいた仕事は素晴らしいものでした。 重ねてにはなりますが、どうもありがとう!
> >
> > Thank you for your comment in Japanese!
> > こちらこそ、ありがとうございました!
> >
> > Best regards,
> > Yoshihiro Shimoda
> >
> > > Thank you!
> > >
> > > 	Krzysztof
Yoshihiro Shimoda Aug. 31, 2023, 1:34 a.m. UTC | #6
Hello Bjorn,

> From: Krzysztof Wilczyński, Sent: Monday, August 28, 2023 1:27 AM
> 
> Hello,
> 
> > Add R-Car S4-8 (R-Car Gen4) PCIe Host and Endpoint support.
> > To support them, modify PCIe DesignWare common codes.
> 
> Applied to controller/rcar, thank you!

I should have asked you before, but is it possible to merge this for Linux v6.6?
Today I realized that "[GIT PULL] PCI changes for v6.6" [1] didn't have the controller/rcar...

[1]
https://lore.kernel.org/linux-pci/20230830190642.GA10547@bhelgaas/

Best regards,
Yoshihiro Shimoda

> [01/19] PCI: Add INTx Mechanism Messages macros
>         https://git.kernel.org/pci/pci/c/b6dc5750a17a
> [02/19] PCI: dwc: Change arguments of dw_pcie_prog_outbound_atu()
>         https://git.kernel.org/pci/pci/c/6cbd4d406cb0
> [03/19] PCI: dwc: Add outbound MSG TLPs support
>         https://git.kernel.org/pci/pci/c/6ab660b25520
> [04/19] PCI: designware-ep: Add INTx IRQs support
>         https://git.kernel.org/pci/pci/c/b788d6fd273e
> [05/19] PCI: dwc: endpoint: Add multiple PFs support for dbi2
>         https://git.kernel.org/pci/pci/c/6e4db9846cf4
> [06/19] PCI: dwc: Add dw_pcie_link_set_max_link_width()
>         https://git.kernel.org/pci/pci/c/d0f961f40da8
> [07/19] PCI: dwc: Add missing PCI_EXP_LNKCAP_MLW handling
>         https://git.kernel.org/pci/pci/c/a0473c77b4c1
> [08/19] PCI: tegra194: Drop PCI_EXP_LNKSTA_NLW setting
>         https://git.kernel.org/pci/pci/c/e45ff874cede
> [09/19] PCI: dwc: Add EDMA_UNROLL capability flag
>         https://git.kernel.org/pci/pci/c/2424c3ddbd4c
> [10/19] PCI: dwc: Expose dw_pcie_ep_exit() to module
>         https://git.kernel.org/pci/pci/c/3f937c80eb8e
> [11/19] PCI: dwc: Expose dw_pcie_write_dbi2() to module
>         https://git.kernel.org/pci/pci/c/a986f6fd339e
> [12/19] PCI: dwc: endpoint: Introduce .pre_init() and .deinit()
>         https://git.kernel.org/pci/pci/c/6504d294399e
> [13/19] dt-bindings: PCI: dwc: Update maxItems of reg and reg-names
>         https://git.kernel.org/pci/pci/c/5ca157f7d36c
> [14/19] dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Host
>         https://git.kernel.org/pci/pci/c/af285bc39885
> [15/19] dt-bindings: PCI: renesas: Add R-Car Gen4 PCIe Endpoint
>         https://git.kernel.org/pci/pci/c/738bded11aaa
> [16/19] PCI: rcar-gen4: Add R-Car Gen4 PCIe Host support
>         https://git.kernel.org/pci/pci/c/943a310da907
> [17/19] PCI: rcar-gen4-ep: Add R-Car Gen4 PCIe Endpoint support
>         https://git.kernel.org/pci/pci/c/db4499d11f46
> [18/19] MAINTAINERS: Update PCI DRIVER FOR RENESAS R-CAR for R-Car Gen4
>         https://git.kernel.org/pci/pci/c/2e0ef5776946
> [19/19] misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller
>         https://git.kernel.org/pci/pci/c/33fa67818fe7
> 
> 	Krzysztof