mbox series

[v4,0/6] PCI: controllers: tidy code up

Message ID 20231220053829.1921187-1-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
Headers show
Series PCI: controllers: tidy code up | expand

Message

Yoshihiro Shimoda Dec. 20, 2023, 5:38 a.m. UTC
This patch series tidies the code of PCIe dwc controllers and some
controllers up.

Changes from v3:
https://lore.kernel.org/linux-pci/20231215022955.3574063-1-yoshihiro.shimoda.uh@renesas.com/
 - Based on the latest pci.git / next branch. So, I modified the patch 1/6
   for pci-layerscape.c.
 - Add Reviewed-by tag in the patch 4/6.
 - Fix locations of read/write accessors by grouped for readability in
   the patch 4/6.

Changes from v2:
https://lore.kernel.org/linux-pci/20231114055456.2231990-1-yoshihiro.shimoda.uh@renesas.com/
 - Based on the latest pci.git / next branch.
 - Add Suggestion-by and Reviewed-by tags.
 - Move read/write accessors to the header file in the patch 4/6.
 - Revise the commit description in the patch 5/6.

Changes from v1:
https://lore.kernel.org/linux-pci/20231113013300.2132152-1-yoshihiro.shimoda.uh@renesas.com/
 - Based on the latest pci.git / next branch.
 - Add a new patch to drop host prefix of members from dw_pcie_host_ops
   in the patch 1/6.
 - Add Reviewed-by tag in the patch 3/6.
 - Drop unneeded local variable in the patch 4/6.
 - Add new patches to resolve issues of clang warnings in the patch [56]/6.

Justin Stitt (1):
  PCI: iproc: fix -Wvoid-pointer-to-enum-cast warning

Yoshihiro Shimoda (5):
  PCI: dwc: Drop host prefix from struct dw_pcie_host_ops
  PCI: dwc: Rename to .init in struct dw_pcie_ep_ops
  PCI: dwc: Rename to .get_dbi_offset in struct dw_pcie_ep_ops
  PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
  PCI: rcar-gen4: fix -Wvoid-pointer-to-enum-cast warning

 drivers/pci/controller/dwc/pci-dra7xx.c       |   4 +-
 drivers/pci/controller/dwc/pci-exynos.c       |   2 +-
 drivers/pci/controller/dwc/pci-imx6.c         |   6 +-
 drivers/pci/controller/dwc/pci-keystone.c     |   8 +-
 .../pci/controller/dwc/pci-layerscape-ep.c    |   7 +-
 drivers/pci/controller/dwc/pci-layerscape.c   |   6 +-
 drivers/pci/controller/dwc/pci-meson.c        |   2 +-
 drivers/pci/controller/dwc/pcie-al.c          |   2 +-
 drivers/pci/controller/dwc/pcie-armada8k.c    |   2 +-
 drivers/pci/controller/dwc/pcie-artpec6.c     |   4 +-
 drivers/pci/controller/dwc/pcie-bt1.c         |   4 +-
 .../pci/controller/dwc/pcie-designware-ep.c   | 188 ++++++------------
 .../pci/controller/dwc/pcie-designware-host.c |  30 +--
 .../pci/controller/dwc/pcie-designware-plat.c |   2 +-
 drivers/pci/controller/dwc/pcie-designware.h  | 105 +++++++++-
 drivers/pci/controller/dwc/pcie-dw-rockchip.c |   2 +-
 drivers/pci/controller/dwc/pcie-fu740.c       |   2 +-
 drivers/pci/controller/dwc/pcie-histb.c       |   2 +-
 drivers/pci/controller/dwc/pcie-intel-gw.c    |   2 +-
 drivers/pci/controller/dwc/pcie-keembay.c     |   2 +-
 drivers/pci/controller/dwc/pcie-kirin.c       |   2 +-
 drivers/pci/controller/dwc/pcie-qcom-ep.c     |   2 +-
 drivers/pci/controller/dwc/pcie-qcom.c        |   6 +-
 drivers/pci/controller/dwc/pcie-rcar-gen4.c   |  12 +-
 drivers/pci/controller/dwc/pcie-spear13xx.c   |   2 +-
 drivers/pci/controller/dwc/pcie-tegra194.c    |   2 +-
 drivers/pci/controller/dwc/pcie-uniphier-ep.c |   2 +-
 drivers/pci/controller/dwc/pcie-uniphier.c    |   2 +-
 drivers/pci/controller/dwc/pcie-visconti.c    |   2 +-
 drivers/pci/controller/pcie-iproc-platform.c  |   2 +-
 30 files changed, 222 insertions(+), 194 deletions(-)

Comments

Serge Semin Dec. 20, 2023, 3:20 p.m. UTC | #1
Hi Krzysztof, Lorenzo, Bjorn, Mani

On Wed, Dec 20, 2023 at 02:38:23PM +0900, Yoshihiro Shimoda wrote:
> This patch series tidies the code of PCIe dwc controllers and some
> controllers up.
> 
> Changes from v3:
> https://lore.kernel.org/linux-pci/20231215022955.3574063-1-yoshihiro.shimoda.uh@renesas.com/
>  - Based on the latest pci.git / next branch. So, I modified the patch 1/6
>    for pci-layerscape.c.
>  - Add Reviewed-by tag in the patch 4/6.
>  - Fix locations of read/write accessors by grouped for readability in
>    the patch 4/6.

The series has got all the Mani's acks. The last nitpick was fixed in
v4. No more comments at least from my side. What about merging it in
(before merge window v6.8 is opened)?

-Serge(y)

> 
> Changes from v2:
> https://lore.kernel.org/linux-pci/20231114055456.2231990-1-yoshihiro.shimoda.uh@renesas.com/
>  - Based on the latest pci.git / next branch.
>  - Add Suggestion-by and Reviewed-by tags.
>  - Move read/write accessors to the header file in the patch 4/6.
>  - Revise the commit description in the patch 5/6.
> 
> Changes from v1:
> https://lore.kernel.org/linux-pci/20231113013300.2132152-1-yoshihiro.shimoda.uh@renesas.com/
>  - Based on the latest pci.git / next branch.
>  - Add a new patch to drop host prefix of members from dw_pcie_host_ops
>    in the patch 1/6.
>  - Add Reviewed-by tag in the patch 3/6.
>  - Drop unneeded local variable in the patch 4/6.
>  - Add new patches to resolve issues of clang warnings in the patch [56]/6.
> 
> Justin Stitt (1):
>   PCI: iproc: fix -Wvoid-pointer-to-enum-cast warning
> 
> Yoshihiro Shimoda (5):
>   PCI: dwc: Drop host prefix from struct dw_pcie_host_ops
>   PCI: dwc: Rename to .init in struct dw_pcie_ep_ops
>   PCI: dwc: Rename to .get_dbi_offset in struct dw_pcie_ep_ops
>   PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
>   PCI: rcar-gen4: fix -Wvoid-pointer-to-enum-cast warning
> 
>  drivers/pci/controller/dwc/pci-dra7xx.c       |   4 +-
>  drivers/pci/controller/dwc/pci-exynos.c       |   2 +-
>  drivers/pci/controller/dwc/pci-imx6.c         |   6 +-
>  drivers/pci/controller/dwc/pci-keystone.c     |   8 +-
>  .../pci/controller/dwc/pci-layerscape-ep.c    |   7 +-
>  drivers/pci/controller/dwc/pci-layerscape.c   |   6 +-
>  drivers/pci/controller/dwc/pci-meson.c        |   2 +-
>  drivers/pci/controller/dwc/pcie-al.c          |   2 +-
>  drivers/pci/controller/dwc/pcie-armada8k.c    |   2 +-
>  drivers/pci/controller/dwc/pcie-artpec6.c     |   4 +-
>  drivers/pci/controller/dwc/pcie-bt1.c         |   4 +-
>  .../pci/controller/dwc/pcie-designware-ep.c   | 188 ++++++------------
>  .../pci/controller/dwc/pcie-designware-host.c |  30 +--
>  .../pci/controller/dwc/pcie-designware-plat.c |   2 +-
>  drivers/pci/controller/dwc/pcie-designware.h  | 105 +++++++++-
>  drivers/pci/controller/dwc/pcie-dw-rockchip.c |   2 +-
>  drivers/pci/controller/dwc/pcie-fu740.c       |   2 +-
>  drivers/pci/controller/dwc/pcie-histb.c       |   2 +-
>  drivers/pci/controller/dwc/pcie-intel-gw.c    |   2 +-
>  drivers/pci/controller/dwc/pcie-keembay.c     |   2 +-
>  drivers/pci/controller/dwc/pcie-kirin.c       |   2 +-
>  drivers/pci/controller/dwc/pcie-qcom-ep.c     |   2 +-
>  drivers/pci/controller/dwc/pcie-qcom.c        |   6 +-
>  drivers/pci/controller/dwc/pcie-rcar-gen4.c   |  12 +-
>  drivers/pci/controller/dwc/pcie-spear13xx.c   |   2 +-
>  drivers/pci/controller/dwc/pcie-tegra194.c    |   2 +-
>  drivers/pci/controller/dwc/pcie-uniphier-ep.c |   2 +-
>  drivers/pci/controller/dwc/pcie-uniphier.c    |   2 +-
>  drivers/pci/controller/dwc/pcie-visconti.c    |   2 +-
>  drivers/pci/controller/pcie-iproc-platform.c  |   2 +-
>  30 files changed, 222 insertions(+), 194 deletions(-)
> 
> -- 
> 2.25.1
> 
>
Yoshihiro Shimoda Jan. 5, 2024, 10:59 a.m. UTC | #2
Hi,

> From: Serge Semin, Sent: Thursday, December 21, 2023 12:21 AM
> 
> Hi Krzysztof, Lorenzo, Bjorn, Mani
> 
> On Wed, Dec 20, 2023 at 02:38:23PM +0900, Yoshihiro Shimoda wrote:
> > This patch series tidies the code of PCIe dwc controllers and some
> > controllers up.
> >
> > Changes from v3:
> > https://lore.kernel.org/linux-pci/20231215022955.3574063-1-yoshihiro.shimoda.uh@renesas.com/
> >  - Based on the latest pci.git / next branch. So, I modified the patch 1/6
> >    for pci-layerscape.c.
> >  - Add Reviewed-by tag in the patch 4/6.
> >  - Fix locations of read/write accessors by grouped for readability in
> >    the patch 4/6.
> 
> The series has got all the Mani's acks. The last nitpick was fixed in
> v4. No more comments at least from my side. What about merging it in
> (before merge window v6.8 is opened)?

Serge, thank you for your comment.

Hi Krzysztof, Lorenzo, Bjorn, Mani,

Would you apply this patch series into pci.git / next branch?
I confirmed that the patch series could be applied on the latest pci.git / next branch
by using the following git-pw command:
$ git-pw --server https://patchwork.kernel.org/api/1.1 --project linux-pci series apply 811670

Best regards,
Yoshihiro Shimoda


> -Serge(y)
> 
> >
> > Changes from v2:
> >
<snip URL>
> >  - Based on the latest pci.git / next branch.
> >  - Add Suggestion-by and Reviewed-by tags.
> >  - Move read/write accessors to the header file in the patch 4/6.
> >  - Revise the commit description in the patch 5/6.
> >
> > Changes from v1:
> >
<snip URL>
> >  - Based on the latest pci.git / next branch.
> >  - Add a new patch to drop host prefix of members from dw_pcie_host_ops
> >    in the patch 1/6.
> >  - Add Reviewed-by tag in the patch 3/6.
> >  - Drop unneeded local variable in the patch 4/6.
> >  - Add new patches to resolve issues of clang warnings in the patch [56]/6.
> >
> > Justin Stitt (1):
> >   PCI: iproc: fix -Wvoid-pointer-to-enum-cast warning
> >
> > Yoshihiro Shimoda (5):
> >   PCI: dwc: Drop host prefix from struct dw_pcie_host_ops
> >   PCI: dwc: Rename to .init in struct dw_pcie_ep_ops
> >   PCI: dwc: Rename to .get_dbi_offset in struct dw_pcie_ep_ops
> >   PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
> >   PCI: rcar-gen4: fix -Wvoid-pointer-to-enum-cast warning
> >
> >  drivers/pci/controller/dwc/pci-dra7xx.c       |   4 +-
> >  drivers/pci/controller/dwc/pci-exynos.c       |   2 +-
> >  drivers/pci/controller/dwc/pci-imx6.c         |   6 +-
> >  drivers/pci/controller/dwc/pci-keystone.c     |   8 +-
> >  .../pci/controller/dwc/pci-layerscape-ep.c    |   7 +-
> >  drivers/pci/controller/dwc/pci-layerscape.c   |   6 +-
> >  drivers/pci/controller/dwc/pci-meson.c        |   2 +-
> >  drivers/pci/controller/dwc/pcie-al.c          |   2 +-
> >  drivers/pci/controller/dwc/pcie-armada8k.c    |   2 +-
> >  drivers/pci/controller/dwc/pcie-artpec6.c     |   4 +-
> >  drivers/pci/controller/dwc/pcie-bt1.c         |   4 +-
> >  .../pci/controller/dwc/pcie-designware-ep.c   | 188 ++++++------------
> >  .../pci/controller/dwc/pcie-designware-host.c |  30 +--
> >  .../pci/controller/dwc/pcie-designware-plat.c |   2 +-
> >  drivers/pci/controller/dwc/pcie-designware.h  | 105 +++++++++-
> >  drivers/pci/controller/dwc/pcie-dw-rockchip.c |   2 +-
> >  drivers/pci/controller/dwc/pcie-fu740.c       |   2 +-
> >  drivers/pci/controller/dwc/pcie-histb.c       |   2 +-
> >  drivers/pci/controller/dwc/pcie-intel-gw.c    |   2 +-
> >  drivers/pci/controller/dwc/pcie-keembay.c     |   2 +-
> >  drivers/pci/controller/dwc/pcie-kirin.c       |   2 +-
> >  drivers/pci/controller/dwc/pcie-qcom-ep.c     |   2 +-
> >  drivers/pci/controller/dwc/pcie-qcom.c        |   6 +-
> >  drivers/pci/controller/dwc/pcie-rcar-gen4.c   |  12 +-
> >  drivers/pci/controller/dwc/pcie-spear13xx.c   |   2 +-
> >  drivers/pci/controller/dwc/pcie-tegra194.c    |   2 +-
> >  drivers/pci/controller/dwc/pcie-uniphier-ep.c |   2 +-
> >  drivers/pci/controller/dwc/pcie-uniphier.c    |   2 +-
> >  drivers/pci/controller/dwc/pcie-visconti.c    |   2 +-
> >  drivers/pci/controller/pcie-iproc-platform.c  |   2 +-
> >  30 files changed, 222 insertions(+), 194 deletions(-)
> >
> > --
> > 2.25.1
> >
> >
Krzysztof Wilczyński Jan. 6, 2024, 5:27 a.m. UTC | #3
Hello,

[...]
> > > Changes from v3:
> > > https://lore.kernel.org/linux-pci/20231215022955.3574063-1-yoshihiro.shimoda.uh@renesas.com/
> > >  - Based on the latest pci.git / next branch. So, I modified the patch 1/6
> > >    for pci-layerscape.c.

Shimoda-san, don't use next when working on patches.  I might have told you
this once before, per the following. Something that is easy to forget.

  https://lore.kernel.org/all/20230828160712.GA2127814@rocinante/

This is the HEAD branch you should be using:

  https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/

You should seldom use our "next" or the upstream "linux-next" when working
on a series you want to send to us.  That is, unless someone explicitly asks
you to do so or the changes you wish to submit to be applied are simple.

> > >  - Add Reviewed-by tag in the patch 4/6.
> > >  - Fix locations of read/write accessors by grouped for readability in
> > >    the patch 4/6.
> > 
> > The series has got all the Mani's acks. The last nitpick was fixed in
> > v4. No more comments at least from my side. What about merging it in
> > (before merge window v6.8 is opened)?
> 
> Serge, thank you for your comment.
> 
> Hi Krzysztof, Lorenzo, Bjorn, Mani,

Hi. Happy New Year 2024!

> Would you apply this patch series into pci.git / next branch?

We don't apply specific series like that.  Bjorn will collect other
branches, and then eventually update our "next", which then will be
picked up and the upstream "linux-next" will eventually include it.

> I confirmed that the patch series could be applied on the latest pci.git / next branch
[...]

I appreciate that.  However, I now need to resolve some conflicts to
apply this series.  See my comment above. :)

	Krzysztof
Krzysztof Wilczyński Jan. 6, 2024, 8:33 a.m. UTC | #4
Hello,

> This patch series tidies the code of PCIe dwc controllers and some
> controllers up.

Applied to controller/dwc, thank you!

[01/06] PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members
        https://git.kernel.org/pci/pci/c/aea370b2aec9
[02/06] PCI: dwc: Rename .ep_init to .init in struct dw_pcie_ep_ops
        https://git.kernel.org/pci/pci/c/756dcb5a820a
[03/06] PCI: dwc: Rename .func_conf_select to .get_dbi_offset in struct dw_pcie_ep_ops
        https://git.kernel.org/pci/pci/c/641f79beeebc
[04/06] PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
        https://git.kernel.org/pci/pci/c/70fa02ca1446
[05/06] PCI: iproc: Fix -Wvoid-pointer-to-enum-cast warning
        https://git.kernel.org/pci/pci/c/f72896721621
[06/06] PCI: rcar-gen4: Fix -Wvoid-pointer-to-enum-cast error
        https://git.kernel.org/pci/pci/c/7682f19c3c8c

	Krzysztof
Krzysztof Wilczyński Jan. 6, 2024, 8:42 a.m. UTC | #5
Hello,

> > This patch series tidies the code of PCIe dwc controllers and some
> > controllers up.
> 
> Applied to controller/dwc, thank you!
> 
> [01/06] PCI: dwc: Drop host prefix from struct dw_pcie_host_ops members
>         https://git.kernel.org/pci/pci/c/aea370b2aec9
> [02/06] PCI: dwc: Rename .ep_init to .init in struct dw_pcie_ep_ops
>         https://git.kernel.org/pci/pci/c/756dcb5a820a
> [03/06] PCI: dwc: Rename .func_conf_select to .get_dbi_offset in struct dw_pcie_ep_ops
>         https://git.kernel.org/pci/pci/c/641f79beeebc
> [04/06] PCI: dwc: Add dw_pcie_ep_{read,write}_dbi[2] helpers
>         https://git.kernel.org/pci/pci/c/70fa02ca1446
> [05/06] PCI: iproc: Fix -Wvoid-pointer-to-enum-cast warning
>         https://git.kernel.org/pci/pci/c/f72896721621
> [06/06] PCI: rcar-gen4: Fix -Wvoid-pointer-to-enum-cast error
>         https://git.kernel.org/pci/pci/c/7682f19c3c8c

Bjorn, there will be a minor conflict with the controller/layerscape branch
when you pull these changes to apply against our "next"—a side effect of
this particular series, which was rebased against our "next" rather than
being kept aligned with our HEAD branch, no longer including changes
against Frank Li's updates to the driver.

The following simple patch would be needed:

diff --git i/drivers/pci/controller/dwc/pci-layerscape.c w/drivers/pci/controller/dwc/pci-layerscape.c
index 7cdada200de7..9db079bbd947 100644
--- i/drivers/pci/controller/dwc/pci-layerscape.c
+++ w/drivers/pci/controller/dwc/pci-layerscape.c
@@ -278,7 +278,7 @@ static const struct dw_pcie_host_ops ls_pcie_host_ops = {
 };
 
 static const struct dw_pcie_host_ops ls1021a_pcie_host_ops = {
-	.host_init = ls_pcie_host_init,
+	.init = ls_pcie_host_init,
 	.pme_turn_off = ls1021a_pcie_send_turnoff_msg,
 };
 
@@ -290,7 +290,7 @@ static const struct ls_pcie_drvdata ls1021a_drvdata = {
 };
 
 static const struct dw_pcie_host_ops ls1043a_pcie_host_ops = {
-	.host_init = ls_pcie_host_init,
+	.init = ls_pcie_host_init,
 	.pme_turn_off = ls1043a_pcie_send_turnoff_msg,
 };
 
	Krzysztof
Yoshihiro Shimoda Jan. 9, 2024, 1:34 a.m. UTC | #6
Hello Krzysztof-san,

> From: Krzysztof Wilczyński, Sent: Saturday, January 6, 2024 2:27 PM
> 
> Hello,
> 
> [...]
> > > > Changes from v3:
> > > >
<snip URL>
> > > >  - Based on the latest pci.git / next branch. So, I modified the patch 1/6
> > > >    for pci-layerscape.c.
> 
> Shimoda-san, don't use next when working on patches.  I might have told you
> this once before, per the following. Something that is easy to forget.
> 
> https://lore.kernel.org/all/20230828160712.GA2127814@rocinante/

Oops. I'm sorry. As you mentioned, I completely forgot it...

> This is the HEAD branch you should be using:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/
> 
> You should seldom use our "next" or the upstream "linux-next" when working
> on a series you want to send to us.  That is, unless someone explicitly asks
> you to do so or the changes you wish to submit to be applied are simple.

I got it.

> > > >  - Add Reviewed-by tag in the patch 4/6.
> > > >  - Fix locations of read/write accessors by grouped for readability in
> > > >    the patch 4/6.
> > >
> > > The series has got all the Mani's acks. The last nitpick was fixed in
> > > v4. No more comments at least from my side. What about merging it in
> > > (before merge window v6.8 is opened)?
> >
> > Serge, thank you for your comment.
> >
> > Hi Krzysztof, Lorenzo, Bjorn, Mani,
> 
> Hi. Happy New Year 2024!
> 
> > Would you apply this patch series into pci.git / next branch?
> 
> We don't apply specific series like that.  Bjorn will collect other
> branches, and then eventually update our "next", which then will be
> picked up and the upstream "linux-next" will eventually include it.

I got it.

> > I confirmed that the patch series could be applied on the latest pci.git / next branch
> [...]
> 
> I appreciate that.  However, I now need to resolve some conflicts to
> apply this series.  See my comment above. :)

I understood it.
Now v6.7 had been released. So, should I resubmit this series after v6.8-rc1 was released?
Or, would you resolve the conflicts for merging this series into v6.8-rc1?

Best regards,
Yoshihiro Shimoda

> 	Krzysztof
Bjorn Helgaas Jan. 10, 2024, 12:21 a.m. UTC | #7
On Tue, Jan 09, 2024 at 01:34:54AM +0000, Yoshihiro Shimoda wrote:
> ...

> Now v6.7 had been released. So, should I resubmit this series after
> v6.8-rc1 was released?  Or, would you resolve the conflicts for
> merging this series into v6.8-rc1?

No need, I think this is already merged in the PCI "next" branch and
should appear in v6.8-rc1.

If you take a look at
https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=fbfdb71c8c79,
you should be able to confirm that your series is included correctly.

If it's not, please let me know!

Bjorn
Yoshihiro Shimoda Jan. 10, 2024, 2:01 a.m. UTC | #8
Hi Bjorn,

> From: Bjorn Helgaas, Sent: Wednesday, January 10, 2024 9:22 AM
> 
> On Tue, Jan 09, 2024 at 01:34:54AM +0000, Yoshihiro Shimoda wrote:
> > ...
> 
> > Now v6.7 had been released. So, should I resubmit this series after
> > v6.8-rc1 was released?  Or, would you resolve the conflicts for
> > merging this series into v6.8-rc1?
> 
> No need, I think this is already merged in the PCI "next" branch and
> should appear in v6.8-rc1.
> 
> If you take a look at
> https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=fbfdb71c8c79 
> you should be able to confirm that your series is included correctly.
> 
> If it's not, please let me know!

Thank you for your reply! I confirmed that this patch series had been merged into
the PCI "next" branch correctly.

Best regards,
Yoshihiro Shimoda

> Bjorn