[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251017151830.171062-1-prabhakar.mahadev-lad.rj@bp.renesas.com>
Date: Fri, 17 Oct 2025 16:18:26 +0100
From: Prabhakar <prabhakar.csengg@...il.com>
To: Niklas Söderlund <niklas.soderlund@...natech.se>,
Paul Barker <paul@...rker.dev>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Mitsuhiro Kimura <mitsuhiro.kimura.kc@...esas.com>
Cc: netdev@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
linux-kernel@...r.kernel.org,
Prabhakar <prabhakar.csengg@...il.com>,
Biju Das <biju.das.jz@...renesas.com>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: [PATCH v2 0/4] net: ravb: Fix SoC-specific configuration and descriptor handling issues
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Hi all,
This series addresses several issues in the Renesas Ethernet AVB (ravb)
driver related to SoC-specific resource configuration and descriptor
ordering.
Different Renesas SoCs implement varying numbers of descriptor entries and
queue capabilities, which were previously hardcoded or misconfigured.
Additionally, a potential ordering hazard in descriptor setup could cause
the DMA engine to start prematurely, leading to TX stalls on some
platforms.
The series includes the following changes:
Make DBAT entry count configurable per SoC
The number of descriptor base address table (DBAT) entries is not uniform
across all SoCs. Pass this information via the hardware info structure and
allocate resources accordingly.
Allocate correct number of queues based on SoC support
Use the per-SoC configuration to determine whether a network control queue
is available, and allocate queues dynamically to match the SoC's
capability.
Enforce descriptor type ordering to prevent early DMA start
Ensure proper write ordering of TX descriptor type fields to prevent the
DMA engine from observing an incomplete descriptor chain. This fixes
observed TX stalls on RZ/G2L platforms running RT kernels.
All four patches include Fixes tags and should be considered for stable
backporting.
Tested on R/G1x Gen2, RZ/G2x Gen3 and RZ/G2L family hardware.
Note, I've not added net-next in the subject as these are bug fixes for
existing functionality.
v1->v2:
- Split up patch 3/3 from v1 into two separate patches for clarity
of using dma_wmb() for enforcing ordering.
- Updated commit message for patch 3/4
- Added Reviewed-by tag from Niklas for patches 1 and 2.
Cheers,
Prabhakar
Lad Prabhakar (4):
net: ravb: Make DBAT entry count configurable per-SoC
net: ravb: Allocate correct number of queues based on SoC support
net: ravb: Enforce descriptor type ordering
net: ravb: Ensure memory write completes before ringing TX doorbell
drivers/net/ethernet/renesas/ravb.h | 2 +-
drivers/net/ethernet/renesas/ravb_main.c | 40 +++++++++++++++++++-----
2 files changed, 34 insertions(+), 8 deletions(-)
--
2.43.0
Powered by blists - more mailing lists