* [net-next] net: ethernet: ravb: Suspend and resume the transmission flow @ 2026-04-01 18:36 Niklas Söderlund 2026-04-03 23:20 ` patchwork-bot+netdevbpf 2026-04-07 9:03 ` Geert Uytterhoeven 0 siblings, 2 replies; 6+ messages in thread From: Niklas Söderlund @ 2026-04-01 18:36 UTC (permalink / raw) To: Paul Barker, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-renesas-soc Cc: Yoshihiro Shimoda, Niklas Söderlund From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> The current driver does not follow the latest datasheet and does not suspend the flow when stopping DMA and resume it when starting. Update the driver to do so. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> [Niklas: Rebase from BSP and reword commit message] Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- drivers/net/ethernet/renesas/ravb_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 2c725824b348..1dbfadb2a881 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -694,6 +694,9 @@ static int ravb_dmac_init(struct net_device *ndev) const struct ravb_hw_info *info = priv->info; int error; + /* Clear transmission suspension */ + ravb_modify(ndev, CCC, CCC_DTSR, 0); + /* Set CONFIG mode */ error = ravb_set_opmode(ndev, CCC_OPC_CONFIG); if (error) @@ -1103,6 +1106,12 @@ static int ravb_stop_dma(struct net_device *ndev) if (error) return error; + /* Request for transmission suspension */ + ravb_modify(ndev, CCC, CCC_DTSR, CCC_DTSR); + error = ravb_wait(ndev, CSR, CSR_DTS, CSR_DTS); + if (error) + netdev_err(ndev, "failed to stop AXI BUS\n"); + /* Stop AVB-DMAC process */ return ravb_set_opmode(ndev, CCC_OPC_CONFIG); } -- 2.53.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [net-next] net: ethernet: ravb: Suspend and resume the transmission flow 2026-04-01 18:36 [net-next] net: ethernet: ravb: Suspend and resume the transmission flow Niklas Söderlund @ 2026-04-03 23:20 ` patchwork-bot+netdevbpf 2026-04-07 9:03 ` Geert Uytterhoeven 1 sibling, 0 replies; 6+ messages in thread From: patchwork-bot+netdevbpf @ 2026-04-03 23:20 UTC (permalink / raw) To: =?utf-8?q?Niklas_S=C3=B6derlund_=3Cniklas=2Esoderlund+renesas=40ragnatech=2E?=, =?utf-8?q?se=3E?= Cc: paul, andrew+netdev, davem, edumazet, kuba, pabeni, netdev, linux-renesas-soc, yoshihiro.shimoda.uh Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 1 Apr 2026 20:36:08 +0200 you wrote: > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > The current driver does not follow the latest datasheet and does not > suspend the flow when stopping DMA and resume it when starting. Update > the driver to do so. > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > [Niklas: Rebase from BSP and reword commit message] > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > > [...] Here is the summary with links: - [net-next] net: ethernet: ravb: Suspend and resume the transmission flow https://git.kernel.org/netdev/net-next/c/353d8e7989b6 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [net-next] net: ethernet: ravb: Suspend and resume the transmission flow 2026-04-01 18:36 [net-next] net: ethernet: ravb: Suspend and resume the transmission flow Niklas Söderlund 2026-04-03 23:20 ` patchwork-bot+netdevbpf @ 2026-04-07 9:03 ` Geert Uytterhoeven 2026-04-07 18:54 ` Niklas Söderlund 1 sibling, 1 reply; 6+ messages in thread From: Geert Uytterhoeven @ 2026-04-07 9:03 UTC (permalink / raw) To: Niklas Söderlund, Yoshihiro Shimoda Cc: Paul Barker, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-renesas-soc Hi Niklas, Shimoda-san, On Wed, 1 Apr 2026 at 20:39, Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> wrote: > > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > The current driver does not follow the latest datasheet and does not > suspend the flow when stopping DMA and resume it when starting. Update > the driver to do so. > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > [Niklas: Rebase from BSP and reword commit message] > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Thanks for your patch, which is now commit 353d8e7989b6babe ("net: ethernet: ravb: Suspend and resume the transmission flow") in linux-next/master net-next. > --- a/drivers/net/ethernet/renesas/ravb_main.c > +++ b/drivers/net/ethernet/renesas/ravb_main.c > @@ -694,6 +694,9 @@ static int ravb_dmac_init(struct net_device *ndev) > const struct ravb_hw_info *info = priv->info; > int error; > > + /* Clear transmission suspension */ > + ravb_modify(ndev, CCC, CCC_DTSR, 0); > + > /* Set CONFIG mode */ > error = ravb_set_opmode(ndev, CCC_OPC_CONFIG); > if (error) > @@ -1103,6 +1106,12 @@ static int ravb_stop_dma(struct net_device *ndev) > if (error) > return error; > > + /* Request for transmission suspension */ > + ravb_modify(ndev, CCC, CCC_DTSR, CCC_DTSR); > + error = ravb_wait(ndev, CSR, CSR_DTS, CSR_DTS); > + if (error) > + netdev_err(ndev, "failed to stop AXI BUS\n"); This error message is printed during resume from s2idle or s2ram on e.g. Salvator-XS and Gray Hawk Single. Ethernet (nfsroot) still works fine, though. > + > /* Stop AVB-DMAC process */ > return ravb_set_opmode(ndev, CCC_OPC_CONFIG); > } Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [net-next] net: ethernet: ravb: Suspend and resume the transmission flow 2026-04-07 9:03 ` Geert Uytterhoeven @ 2026-04-07 18:54 ` Niklas Söderlund 2026-04-08 7:44 ` Geert Uytterhoeven 0 siblings, 1 reply; 6+ messages in thread From: Niklas Söderlund @ 2026-04-07 18:54 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Yoshihiro Shimoda, Paul Barker, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-renesas-soc Hi Geert, Thanks for your report. On 2026-04-07 11:03:38 +0200, Geert Uytterhoeven wrote: > Hi Niklas, Shimoda-san, > > On Wed, 1 Apr 2026 at 20:39, Niklas Söderlund > <niklas.soderlund+renesas@ragnatech.se> wrote: > > > > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > > The current driver does not follow the latest datasheet and does not > > suspend the flow when stopping DMA and resume it when starting. Update > > the driver to do so. > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > [Niklas: Rebase from BSP and reword commit message] > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > > Thanks for your patch, which is now commit 353d8e7989b6babe ("net: > ethernet: ravb: Suspend and resume the transmission flow") in > linux-next/master net-next. > > > --- a/drivers/net/ethernet/renesas/ravb_main.c > > +++ b/drivers/net/ethernet/renesas/ravb_main.c > > @@ -694,6 +694,9 @@ static int ravb_dmac_init(struct net_device *ndev) > > const struct ravb_hw_info *info = priv->info; > > int error; > > > > + /* Clear transmission suspension */ > > + ravb_modify(ndev, CCC, CCC_DTSR, 0); > > + > > /* Set CONFIG mode */ > > error = ravb_set_opmode(ndev, CCC_OPC_CONFIG); > > if (error) > > @@ -1103,6 +1106,12 @@ static int ravb_stop_dma(struct net_device *ndev) > > if (error) > > return error; > > > > + /* Request for transmission suspension */ > > + ravb_modify(ndev, CCC, CCC_DTSR, CCC_DTSR); > > + error = ravb_wait(ndev, CSR, CSR_DTS, CSR_DTS); > > + if (error) > > + netdev_err(ndev, "failed to stop AXI BUS\n"); > > This error message is printed during resume from s2idle or s2ram on > e.g. Salvator-XS and Gray Hawk Single. Ethernet (nfsroot) still works > fine, though. I was not able to reproduce this on M3N (r8a77965-salvator-xs.dts) nor Sparrow Hawk (r8a779g3-sparrow-hawk.dts). I'm using the following to test, is your test-case different? # echo enabled > /sys/class/tty/ttySC0/power/wakeup # echo s2idle > /sys/power/mem_sleep # echo 0 > /sys/module/printk/parameters/console_suspend # echo mem > /sys/power/state Console log from M3N (console wakeup) [ 149.278623] Freezing user space processes [ 149.287951] Freezing user space processes completed (elapsed 0.005 seconds) [ 149.295439] OOM killer disabled. [ 149.298796] Freezing remaining freezable tasks [ 149.305367] Freezing remaining freezable tasks completed (elapsed 0.002 seconds) [ 149.364876] ravb e6800000.ethernet end0: Link is Down [ 149.701951] usb usb2: root hub lost power or was reset [ 149.708295] usb usb1: root hub lost power or was reset [ 149.793871] usb usb3: root hub lost power or was reset [ 149.799174] usb usb4: root hub lost power or was reset [ 149.931707] Micrel KSZ9031 Gigabit PHY e6800000.ethernet-ffffffff:00: attached PHY driver (mii_bus:phy_addr=e6800000.ethernet-ffffffff:00, irq=170) [ 150.008695] OOM killer enabled. [ 150.012003] Restarting tasks: Starting [ 150.020596] Restarting tasks: Done [ 150.024234] random: crng reseeded on system resumption [ 150.036191] PM: suspend exit [ 150.235966] ata1: link resume succeeded after 1 retries [ 150.344391] ata1: SATA link down (SStatus 0 SControl 300) [ 156.499184] ravb e6800000.ethernet end0: Link is Up - 1Gbps/Full - flow control off Console log from V4H (console wakeup) [ 64.982935] Filesystems sync: 0.000 seconds [ 64.992414] Freezing user space processes [ 64.996111] Freezing user space processes completed (elapsed 0.002 seconds) [ 64.997280] OOM killer disabled. [ 64.997711] Freezing remaining freezable tasks [ 65.000580] Freezing remaining freezable tasks completed (elapsed 0.002 seconds) [ 65.012959] ravb e6800000.ethernet end0: Link is Down [ 65.167569] Micrel KSZ9031 Gigabit PHY e6800000.ethernet-ffffffff:00: attached PHY driver (mii_bus:phy_addr=e6800000.ethernet-ffffffff:00, irq=108) [ 65.190614] OOM killer enabled. [ 65.191058] Restarting tasks: Starting [ 65.195133] Restarting tasks: Done [ 65.195743] random: crng reseeded on system resumption [ 65.201052] PM: suspend exit [ 71.305027] ravb e6800000.ethernet end0: Link is Up - 1Gbps/Full - flow control off > > > + > > /* Stop AVB-DMAC process */ > > return ravb_set_opmode(ndev, CCC_OPC_CONFIG); > > } > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds -- Kind Regards, Niklas Söderlund ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [net-next] net: ethernet: ravb: Suspend and resume the transmission flow 2026-04-07 18:54 ` Niklas Söderlund @ 2026-04-08 7:44 ` Geert Uytterhoeven 2026-04-12 17:13 ` Niklas Söderlund 0 siblings, 1 reply; 6+ messages in thread From: Geert Uytterhoeven @ 2026-04-08 7:44 UTC (permalink / raw) To: Niklas Söderlund Cc: Yoshihiro Shimoda, Paul Barker, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-renesas-soc Hi Niklas, On Tue, 7 Apr 2026 at 20:54, Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> wrote: > On 2026-04-07 11:03:38 +0200, Geert Uytterhoeven wrote: > > On Wed, 1 Apr 2026 at 20:39, Niklas Söderlund > > <niklas.soderlund+renesas@ragnatech.se> wrote: > > > > > > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > > > > The current driver does not follow the latest datasheet and does not > > > suspend the flow when stopping DMA and resume it when starting. Update > > > the driver to do so. > > > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > [Niklas: Rebase from BSP and reword commit message] > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > > > > Thanks for your patch, which is now commit 353d8e7989b6babe ("net: > > ethernet: ravb: Suspend and resume the transmission flow") in > > linux-next/master net-next. > > > > > --- a/drivers/net/ethernet/renesas/ravb_main.c > > > +++ b/drivers/net/ethernet/renesas/ravb_main.c > > > @@ -694,6 +694,9 @@ static int ravb_dmac_init(struct net_device *ndev) > > > const struct ravb_hw_info *info = priv->info; > > > int error; > > > > > > + /* Clear transmission suspension */ > > > + ravb_modify(ndev, CCC, CCC_DTSR, 0); > > > + > > > /* Set CONFIG mode */ > > > error = ravb_set_opmode(ndev, CCC_OPC_CONFIG); > > > if (error) > > > @@ -1103,6 +1106,12 @@ static int ravb_stop_dma(struct net_device *ndev) > > > if (error) > > > return error; > > > > > > + /* Request for transmission suspension */ > > > + ravb_modify(ndev, CCC, CCC_DTSR, CCC_DTSR); > > > + error = ravb_wait(ndev, CSR, CSR_DTS, CSR_DTS); > > > + if (error) > > > + netdev_err(ndev, "failed to stop AXI BUS\n"); > > > > This error message is printed during resume from s2idle or s2ram on > > e.g. Salvator-XS and Gray Hawk Single. Ethernet (nfsroot) still works > > fine, though. > > I was not able to reproduce this on M3N (r8a77965-salvator-xs.dts) nor > Sparrow Hawk (r8a779g3-sparrow-hawk.dts). I'm using the following to > test, is your test-case different? > > # echo enabled > /sys/class/tty/ttySC0/power/wakeup > # echo s2idle > /sys/power/mem_sleep > # echo 0 > /sys/module/printk/parameters/console_suspend > # echo mem > /sys/power/state Looks good. Major difference seems to be that I use either Wake-on-LAN or gpio-keys wake-up, and I always have WoL enabled for ravb. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [net-next] net: ethernet: ravb: Suspend and resume the transmission flow 2026-04-08 7:44 ` Geert Uytterhoeven @ 2026-04-12 17:13 ` Niklas Söderlund 0 siblings, 0 replies; 6+ messages in thread From: Niklas Söderlund @ 2026-04-12 17:13 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Yoshihiro Shimoda, Paul Barker, Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev, linux-renesas-soc Hi Geert, On 2026-04-08 09:44:33 +0200, Geert Uytterhoeven wrote: > Hi Niklas, > > On Tue, 7 Apr 2026 at 20:54, Niklas Söderlund > <niklas.soderlund+renesas@ragnatech.se> wrote: > > On 2026-04-07 11:03:38 +0200, Geert Uytterhoeven wrote: > > > On Wed, 1 Apr 2026 at 20:39, Niklas Söderlund > > > <niklas.soderlund+renesas@ragnatech.se> wrote: > > > > > > > > From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > > > > > > The current driver does not follow the latest datasheet and does not > > > > suspend the flow when stopping DMA and resume it when starting. Update > > > > the driver to do so. > > > > > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > > > [Niklas: Rebase from BSP and reword commit message] > > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > > > > > > Thanks for your patch, which is now commit 353d8e7989b6babe ("net: > > > ethernet: ravb: Suspend and resume the transmission flow") in > > > linux-next/master net-next. > > > > > > > --- a/drivers/net/ethernet/renesas/ravb_main.c > > > > +++ b/drivers/net/ethernet/renesas/ravb_main.c > > > > @@ -694,6 +694,9 @@ static int ravb_dmac_init(struct net_device *ndev) > > > > const struct ravb_hw_info *info = priv->info; > > > > int error; > > > > > > > > + /* Clear transmission suspension */ > > > > + ravb_modify(ndev, CCC, CCC_DTSR, 0); > > > > + > > > > /* Set CONFIG mode */ > > > > error = ravb_set_opmode(ndev, CCC_OPC_CONFIG); > > > > if (error) > > > > @@ -1103,6 +1106,12 @@ static int ravb_stop_dma(struct net_device *ndev) > > > > if (error) > > > > return error; > > > > > > > > + /* Request for transmission suspension */ > > > > + ravb_modify(ndev, CCC, CCC_DTSR, CCC_DTSR); > > > > + error = ravb_wait(ndev, CSR, CSR_DTS, CSR_DTS); > > > > + if (error) > > > > + netdev_err(ndev, "failed to stop AXI BUS\n"); > > > > > > This error message is printed during resume from s2idle or s2ram on > > > e.g. Salvator-XS and Gray Hawk Single. Ethernet (nfsroot) still works > > > fine, though. > > > > I was not able to reproduce this on M3N (r8a77965-salvator-xs.dts) nor > > Sparrow Hawk (r8a779g3-sparrow-hawk.dts). I'm using the following to > > test, is your test-case different? > > > > # echo enabled > /sys/class/tty/ttySC0/power/wakeup > > # echo s2idle > /sys/power/mem_sleep > > # echo 0 > /sys/module/printk/parameters/console_suspend > > # echo mem > /sys/power/state > > Looks good. Major difference seems to be that I use either Wake-on-LAN > or gpio-keys wake-up, and I always have WoL enabled for ravb. WoL was indeed the key. Having iperf3 blasting traffic to the target made no difference and access to URAM is allowed to be suspended and no warning was triggered, however just enabling WoL and no traffic. # ethtool -s end0 wol g And URAM access will not be suspended and reported active when checking DTS in CSR register and this warning will be printed. I will send a patch to ignore the check if WoL is enabled (when net-next open), but still keep the request to stop URAM access. Nice catch! > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds -- Kind Regards, Niklas Söderlund ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-04-12 17:13 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-01 18:36 [net-next] net: ethernet: ravb: Suspend and resume the transmission flow Niklas Söderlund 2026-04-03 23:20 ` patchwork-bot+netdevbpf 2026-04-07 9:03 ` Geert Uytterhoeven 2026-04-07 18:54 ` Niklas Söderlund 2026-04-08 7:44 ` Geert Uytterhoeven 2026-04-12 17:13 ` Niklas Söderlund
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox