mbox series

[5.10.y-cip,00/47] Add Ethernet support for Renesas RZ/G3S SoC

Message ID 20240529081039.639010-1-claudiu.beznea.uj@bp.renesas.com (mailing list archive)
Headers show
Series Add Ethernet support for Renesas RZ/G3S SoC | expand

Message

Claudiu Beznea May 29, 2024, 8:09 a.m. UTC
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

Series adds Ethernet support for Renesas RZ/G3S SoC. Ethernet driver
has been enhanced with runtime PM support. The suspend to RAM support
was also improved.

Series is split as follows:
- patch   01:    add clock and reset support for the Ethernet IPs
- patches 02-07: add pinctrl support for the Ethernet IPs
- patches 08-43: add support for suspend to RAM and runtime PM on
                 the Ethernet driver; in this set there are many preparatory
		 patches for runtime PM support (as runtime PM enable/disables
		 the Ethernet module clock and this influences the Ethernet
		 module state leanding to registers setup being lost)
		 along with improvements
- patches 45-47: add device tree support

Thank you,
Claudiu Beznea

Biju Das (2):
  ravb: Add Rx checksum offload support for GbEth
  ravb: Add Tx checksum offload support for GbEth

Christophe JAILLET (1):
  ravb: Use GFP_KERNEL instead of GFP_ATOMIC when possible

Claudiu Beznea (36):
  clk: renesas: r9a08g045: Add clock and reset support for ETH0 and ETH1
  pinctrl: renesas: rzg2l: Move arg and index in the main function block
  pinctrl: renesas: rzg2l: Add pin configuration support for pinmux
    groups
  pinctrl: renesas: rzg2l: Add support to select power source for
    Ethernet pins
  pinctrl: renesas: rzg2l: Add output enable support
  pinctrl: renesas: rzg2l: Add input enable to the Ethernet pins
  pinctrl: renesas: rzg2l: Fix locking in rzg2l_dt_subnode_to_map()
  net: ravb: Check return value of reset_control_deassert()
  net: ravb: Make write access to CXR35 first before accessing other
    EMAC registers
  net: ravb: Stop DMA in case of failures on ravb_open()
  net: ravb: Keep reverse order of operations in ravb_remove()
  net: ravb: Wait for operating mode to be applied
  dt-bindings: net: renesas,etheravb: Document RZ/G3S support
  net: ravb: Let IP-specific receive function to interrogate descriptors
  net: ravb: Rely on PM domain to enable gptp_clk
  net: ravb: Make reset controller support mandatory
  net: ravb: Assert/de-assert reset on suspend/resume
  net: ravb: Move reference clock enable/disable on runtime PM APIs
  net: ravb: Move getting/requesting IRQs in the probe() method
  net: ravb: Split GTI computation and set operations
  net: ravb: Move delay mode set in the driver's ndo_open API
  net: ravb: Move DBAT configuration to the driver's ndo_open API
  net: ravb: Move PTP initialization in the driver's ndo_open API for
    ccc_gac platorms
  net: ravb: Set config mode in ndo_open and reset mode in ndo_close
  net: ravb: Simplify ravb_suspend()
  net: ravb: Simplify ravb_resume()
  net: ravb: Get rid of the temporary variable irq
  net: ravb: Keep the reverse order of operations in ravb_close()
  net: ravb: Return cached statistics if the interface is down
  net: ravb: Move the update of ndev->features to ravb_set_features()
  net: ravb: Do not apply features to hardware if the interface is down
  net: ravb: Add runtime PM support
  arm64: dts: renesas: r9a08g045: Add Ethernet nodes
  arm64: dts: renesas: rzg3s-smarc-som: Use switches' names to select
    on-board functionalities
  arm64: dts: renesas: rzg3s-smarc-som: Enable the Ethernet interfaces
  arm64: dts: renesas: rzg3s-smarc-som: Guard Ethernet IRQ GPIO hogs

Geert Uytterhoeven (1):
  net: ravb: Fix registered interrupt names

Paul Barker (3):
  net: ravb: Count packets instead of descriptors in GbEth RX path
  net: ravb: Fix GbEth jumbo packet RX checksum handling
  net: ravb: Fix RX byte accounting for jumbo packets

Sergey Shtylyov (1):
  ravb: ravb_close() always returns 0

Yang Li (1):
  ethernet: renesas: Use div64_ul instead of do_div

Yoshihiro Shimoda (1):
  net: ravb: Fix lack of register setting after system resumed for Gen3

YueHaibing (1):
  ravb: Fix potential use-after-free in ravb_rx_gbeth()

 .../bindings/net/renesas,etheravb.yaml        |    1 +
 arch/arm64/boot/dts/renesas/r9a08g045.dtsi    |   38 +
 .../boot/dts/renesas/rzg3s-smarc-som.dtsi     |  177 ++-
 drivers/clk/renesas/r9a08g045-cpg.c           |   10 +
 drivers/net/ethernet/renesas/Kconfig          |    1 +
 drivers/net/ethernet/renesas/ravb.h           |   40 +-
 drivers/net/ethernet/renesas/ravb_main.c      | 1074 ++++++++++-------
 drivers/pinctrl/renesas/pinctrl-rzg2l.c       |  164 ++-
 8 files changed, 1030 insertions(+), 475 deletions(-)

Comments

Nobuhiro Iwamatsu May 30, 2024, 6:48 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: Claudiu <claudiu.beznea@tuxon.dev>
> Sent: Wednesday, May 29, 2024 5:10 PM
> To: iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT○OST)
> <nobuhiro1.iwamatsu@toshiba.co.jp>; pavel@denx.de
> Cc: cip-dev@lists.cip-project.org; biju.das.jz@bp.renesas.com;
> prabhakar.mahadev-lad.rj@bp.renesas.com; paul.barker.ct@bp.renesas.com
> Subject: [PATCH 5.10.y-cip 00/47] Add Ethernet support for Renesas RZ/G3S
> SoC
> 
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> 
> Hi,
> 
> Series adds Ethernet support for Renesas RZ/G3S SoC. Ethernet driver has
> been enhanced with runtime PM support. The suspend to RAM support was
> also improved.
> 
> Series is split as follows:
> - patch   01:    add clock and reset support for the Ethernet IPs
> - patches 02-07: add pinctrl support for the Ethernet IPs
> - patches 08-43: add support for suspend to RAM and runtime PM on
>                  the Ethernet driver; in this set there are many preparatory
> 		 patches for runtime PM support (as runtime PM
> enable/disables
> 		 the Ethernet module clock and this influences the Ethernet
> 		 module state leanding to registers setup being lost)
> 		 along with improvements
> - patches 45-47: add device tree support
> 
> Thank you,
> Claudiu Beznea
> 
> Biju Das (2):
>   ravb: Add Rx checksum offload support for GbEth
>   ravb: Add Tx checksum offload support for GbEth
> 
> Christophe JAILLET (1):
>   ravb: Use GFP_KERNEL instead of GFP_ATOMIC when possible
> 
> Claudiu Beznea (36):
>   clk: renesas: r9a08g045: Add clock and reset support for ETH0 and ETH1
>   pinctrl: renesas: rzg2l: Move arg and index in the main function block
>   pinctrl: renesas: rzg2l: Add pin configuration support for pinmux
>     groups
>   pinctrl: renesas: rzg2l: Add support to select power source for
>     Ethernet pins
>   pinctrl: renesas: rzg2l: Add output enable support
>   pinctrl: renesas: rzg2l: Add input enable to the Ethernet pins
>   pinctrl: renesas: rzg2l: Fix locking in rzg2l_dt_subnode_to_map()
>   net: ravb: Check return value of reset_control_deassert()
>   net: ravb: Make write access to CXR35 first before accessing other
>     EMAC registers
>   net: ravb: Stop DMA in case of failures on ravb_open()
>   net: ravb: Keep reverse order of operations in ravb_remove()
>   net: ravb: Wait for operating mode to be applied
>   dt-bindings: net: renesas,etheravb: Document RZ/G3S support
>   net: ravb: Let IP-specific receive function to interrogate descriptors
>   net: ravb: Rely on PM domain to enable gptp_clk
>   net: ravb: Make reset controller support mandatory
>   net: ravb: Assert/de-assert reset on suspend/resume
>   net: ravb: Move reference clock enable/disable on runtime PM APIs
>   net: ravb: Move getting/requesting IRQs in the probe() method
>   net: ravb: Split GTI computation and set operations
>   net: ravb: Move delay mode set in the driver's ndo_open API
>   net: ravb: Move DBAT configuration to the driver's ndo_open API
>   net: ravb: Move PTP initialization in the driver's ndo_open API for
>     ccc_gac platorms
>   net: ravb: Set config mode in ndo_open and reset mode in ndo_close
>   net: ravb: Simplify ravb_suspend()
>   net: ravb: Simplify ravb_resume()
>   net: ravb: Get rid of the temporary variable irq
>   net: ravb: Keep the reverse order of operations in ravb_close()
>   net: ravb: Return cached statistics if the interface is down
>   net: ravb: Move the update of ndev->features to ravb_set_features()
>   net: ravb: Do not apply features to hardware if the interface is down
>   net: ravb: Add runtime PM support
>   arm64: dts: renesas: r9a08g045: Add Ethernet nodes
>   arm64: dts: renesas: rzg3s-smarc-som: Use switches' names to select
>     on-board functionalities
>   arm64: dts: renesas: rzg3s-smarc-som: Enable the Ethernet interfaces
>   arm64: dts: renesas: rzg3s-smarc-som: Guard Ethernet IRQ GPIO hogs
> 
> Geert Uytterhoeven (1):
>   net: ravb: Fix registered interrupt names
> 
> Paul Barker (3):
>   net: ravb: Count packets instead of descriptors in GbEth RX path
>   net: ravb: Fix GbEth jumbo packet RX checksum handling
>   net: ravb: Fix RX byte accounting for jumbo packets
> 
> Sergey Shtylyov (1):
>   ravb: ravb_close() always returns 0
> 
> Yang Li (1):
>   ethernet: renesas: Use div64_ul instead of do_div
> 
> Yoshihiro Shimoda (1):
>   net: ravb: Fix lack of register setting after system resumed for Gen3
> 
> YueHaibing (1):
>   ravb: Fix potential use-after-free in ravb_rx_gbeth()
> 
>  .../bindings/net/renesas,etheravb.yaml        |    1 +
>  arch/arm64/boot/dts/renesas/r9a08g045.dtsi    |   38 +
>  .../boot/dts/renesas/rzg3s-smarc-som.dtsi     |  177 ++-
>  drivers/clk/renesas/r9a08g045-cpg.c           |   10 +
>  drivers/net/ethernet/renesas/Kconfig          |    1 +
>  drivers/net/ethernet/renesas/ravb.h           |   40 +-
>  drivers/net/ethernet/renesas/ravb_main.c      | 1074
> ++++++++++-------
>  drivers/pinctrl/renesas/pinctrl-rzg2l.c       |  164 ++-
>  8 files changed, 1030 insertions(+), 475 deletions(-)
> 

I reviewed this series, LGTM.
If the test passes and there are no other comments, I can apply.
  https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1311347806

Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>

Best regards,
  Nobuhiro
Nobuhiro Iwamatsu June 5, 2024, 8:53 a.m. UTC | #2
Hi,

> 
> I reviewed this series, LGTM.
> If the test passes and there are no other comments, I can apply.
> 
> https://gitlab.com/cip-project/cip-kernel/linux-cip/-/pipelines/1311347806
> 
> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> 
Applied, thank you.

Best regards,
  Nobuhiro