netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 00/21] net: ravb: Add suspend to RAM and runtime PM support for RZ/G3S
@ 2023-12-14 11:45 Claudiu
  2023-12-14 11:45 ` [PATCH net-next v2 01/21] net: ravb: Let IP-specific receive function to interrogate descriptors Claudiu
                   ` (22 more replies)
  0 siblings, 23 replies; 66+ messages in thread
From: Claudiu @ 2023-12-14 11:45 UTC (permalink / raw)
  To: s.shtylyov, davem, edumazet, kuba, pabeni, richardcochran,
	p.zabel, yoshihiro.shimoda.uh, wsa+renesas, geert+renesas
  Cc: netdev, linux-renesas-soc, linux-kernel, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

This series adds suspend to RAM and runtime PM support for Ethernet
IP available on the RZ/G3S (R9A08G045) SoC.

As there are IP versions that switch to module standby when disabling
the clocks, and because of module standby IP switches to reset and
the register content is lost, to be able to have runtime PM supported
for all IP variants, the configuration operations were moved all to
ravb_open()/ravb_close() letting the ravb_probe() and ravb_remove()
to deal with resource parsing and allocation/free.

The ethtool and IOCTL APIs that could have been run asyncronously
were adapted to return if the interface is down. As explained in
each individual commits description, this should be harmless.

Along with it, the series contains preparatory cleanups.

The series has been tested on the boards with the following device trees:
- r8a7742-iwg21d-q7.dts
- r8a774a1-hihope-rzg2m-ex.dts 
- r9a07g043u11-smarc-rzg2ul.dts
- r9a07g054l2-smarc-rzv2l.dts
- r9a07g044l2-smarc-rzg2l.dts

Patches are based on series at [1].

Thank you,
Claudiu Beznea

Changes in v2:
- rework the driver (mainly, ravb_open() contains now only resource
  allocation and parsing leaving the settings to ravb_open(); ravb_remove()
  has been adapted accordingly) to be able to use runtime PM for all
  IP variants; due to this number of patches increased
- adjust previous series to review comments
- collected tags
- populated driver's own runtime PM ops with enable/disable of reference
  clock

[1] https://lore.kernel.org/all/20231214113137.2450292-1-claudiu.beznea.uj@bp.renesas.com/

Claudiu Beznea (21):
  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: Switch to SYSTEM_SLEEP_PM_OPS()/RUNTIME_PM_OPS() and
    pm_ptr()
  net: ravb: Use tabs instead of spaces
  net: ravb: Assert/de-assert reset on suspend/resume
  net: ravb: Move reference clock enable/disable on runtime PM APIs
  net: ravb: Move the IRQs get and request in the probe function
  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: Keep the reverse order of operations in ravb_close()
  net: ravb: Keep clock request operations grouped together
  net: ravb: Return cached statistics if the interface is down
  net: ravb: Do not set promiscuous mode if the interface is down
  net: ravb: Do not apply RX CSUM settings to hardware if the interface
    is down
  net: ravb: Add runtime PM support

 drivers/net/ethernet/renesas/ravb.h      |   2 +
 drivers/net/ethernet/renesas/ravb_main.c | 783 ++++++++++++-----------
 2 files changed, 417 insertions(+), 368 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2023-12-21 19:55 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-14 11:45 [PATCH net-next v2 00/21] net: ravb: Add suspend to RAM and runtime PM support for RZ/G3S Claudiu
2023-12-14 11:45 ` [PATCH net-next v2 01/21] net: ravb: Let IP-specific receive function to interrogate descriptors Claudiu
2023-12-14 20:39   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 02/21] net: ravb: Rely on PM domain to enable gptp_clk Claudiu
2023-12-14 11:45 ` [PATCH net-next v2 03/21] net: ravb: Make reset controller support mandatory Claudiu
2023-12-14 11:45 ` [PATCH net-next v2 04/21] net: ravb: Switch to SYSTEM_SLEEP_PM_OPS()/RUNTIME_PM_OPS() and pm_ptr() Claudiu
2023-12-14 11:45 ` [PATCH net-next v2 05/21] net: ravb: Use tabs instead of spaces Claudiu
2023-12-14 11:45 ` [PATCH net-next v2 06/21] net: ravb: Assert/de-assert reset on suspend/resume Claudiu
2023-12-14 20:58   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 07/21] net: ravb: Move reference clock enable/disable on runtime PM APIs Claudiu
2023-12-15 17:24   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 08/21] net: ravb: Move the IRQs get and request in the probe function Claudiu
2023-12-16 15:53   ` Sergey Shtylyov
2023-12-17 11:56     ` claudiu beznea
2023-12-14 11:45 ` [PATCH net-next v2 09/21] net: ravb: Split GTI computation and set operations Claudiu
2023-12-16 16:38   ` Sergey Shtylyov
2023-12-17 12:40     ` claudiu beznea
2023-12-19 18:20       ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 10/21] net: ravb: Move delay mode set in the driver's ndo_open API Claudiu
2023-12-15 19:58   ` Sergey Shtylyov
2023-12-15 19:58   ` Sergey Shtylyov
2023-12-17 12:49     ` claudiu beznea
2023-12-19 18:40       ` Sergey Shtylyov
2023-12-20 12:02         ` claudiu beznea
2023-12-14 11:45 ` [PATCH net-next v2 11/21] net: ravb: Move DBAT configuration to " Claudiu
2023-12-14 21:03   ` Sergey Shtylyov
2023-12-15 20:01     ` Sergey Shtylyov
2023-12-17 12:54       ` claudiu beznea
2023-12-19 18:54         ` Sergey Shtylyov
2023-12-20 11:41           ` claudiu beznea
2023-12-21 19:54             ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 12/21] net: ravb: Move ptp initialization in the driver's ndo_open API for ccc_gac platorms Claudiu
2023-12-16 17:10   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 13/21] net: ravb: Set config mode in ndo_open and reset mode in ndo_close Claudiu
2023-12-16 17:28   ` Sergey Shtylyov
2023-12-17 13:15     ` claudiu beznea
2023-12-21 19:40       ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 14/21] net: ravb: Simplify ravb_suspend() Claudiu
2023-12-16 17:47   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 15/21] net: ravb: Simplify ravb_resume() Claudiu
2023-12-16 19:26   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 16/21] net: ravb: Keep the reverse order of operations in ravb_close() Claudiu
2023-12-16 19:38   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 17/21] net: ravb: Keep clock request operations grouped together Claudiu
2023-12-16 19:43   ` Sergey Shtylyov
2023-12-17 13:22     ` claudiu beznea
2023-12-19 20:29       ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 18/21] net: ravb: Return cached statistics if the interface is down Claudiu
2023-12-16 20:02   ` Sergey Shtylyov
2023-12-17 13:54     ` claudiu beznea
2023-12-20 20:00       ` Sergey Shtylyov
2023-12-16 20:02   ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 19/21] net: ravb: Do not set promiscuous mode " Claudiu
2023-12-16 20:16   ` Sergey Shtylyov
2023-12-17 14:02     ` claudiu beznea
2023-12-20 20:44       ` Sergey Shtylyov
2023-12-14 11:45 ` [PATCH net-next v2 20/21] net: ravb: Do not apply RX CSUM settings to hardware " Claudiu
2023-12-16 20:36   ` Sergey Shtylyov
2023-12-17 14:34     ` claudiu beznea
2023-12-21 18:50       ` Sergey Shtylyov
2023-12-14 11:46 ` [PATCH net-next v2 21/21] net: ravb: Add runtime PM support Claudiu
2023-12-16 20:56   ` Sergey Shtylyov
2023-12-14 11:56 ` [PATCH net-next v2 00/21] net: ravb: Add suspend to RAM and runtime PM support for RZ/G3S claudiu beznea
2023-12-14 19:26 ` Jakub Kicinski
2023-12-15  9:44   ` claudiu beznea
2023-12-15 16:52     ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).