netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 0/6] ravb: Align Rx descriptor setup and maintenance
@ 2024-02-27  1:40 Niklas Söderlund
  2024-02-27  1:40 ` [net-next 1/6] ravb: Group descriptor types used in Rx ring Niklas Söderlund
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Niklas Söderlund @ 2024-02-27  1:40 UTC (permalink / raw)
  To: Sergey Shtylyov, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Biju Das, Claudiu Beznea, Yoshihiro Shimoda, netdev
  Cc: linux-renesas-soc, Niklas Söderlund

Hello,

When RZ/G2L support was added the Rx code path was split in two, one to 
support R-Car and one to support RZ/G2L. One reason for this is that 
R-Car uses the extended Rx descriptor format, while RZ/G2L uses the 
normal descriptor format.

In many aspects this is not needed as the extended descriptor format is 
just a normal descriptor with extra metadata (timestamsp) appended. And 
the R-Car SoCs can also use normal descriptors if hardware timestamps 
where not desired. This split has lead to RZ/G2L gaining support for 
split descriptors in the Rx path while R-Car still lacks this.

This series is the first step in trying to merge the R-Car and RZ/G2L Rx 
paths so features and bugs corrected in one will benefit the other.

The first patch in the series clarify that the driver now supports 
either normal or extended descriptors, not both at the same time by 
grouping them in a union. This is the foundation that later patches will 
build on the align the two Rx paths.

Patch 2-5 deals with correcting small issues in the Rx frame and 
descriptor sizes that either where incorrect at the time they were added 
in 2017 (my bad) or concepts built on-top of this initial incorrect 
design.

While finally patch 6 merges the R-Car and RZ/G2L for Rx descriptor 
setup and maintenance.

When this work has landed I plan to follow up with more work aligning 
the rest of the Rx code paths and hopefully bring split descriptor 
support to the R-Car SoCs.

Niklas Söderlund (6):
  ravb: Group descriptor types used in Rx ring
  ravb: Make it clear the information relates to maximum frame size
  ravb: Create helper to allocate skb and align it
  ravb: Use the max frame size from hardware info for RZ/G2L
  ravb: Move maximum Rx descriptor data usage to info struct
  ravb: Unify Rx ring maintenance code paths

 drivers/net/ethernet/renesas/ravb.h      |  20 +--
 drivers/net/ethernet/renesas/ravb_main.c | 205 ++++++++---------------
 2 files changed, 79 insertions(+), 146 deletions(-)

-- 
2.43.2


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

end of thread, other threads:[~2024-02-27 22:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-27  1:40 [net-next 0/6] ravb: Align Rx descriptor setup and maintenance Niklas Söderlund
2024-02-27  1:40 ` [net-next 1/6] ravb: Group descriptor types used in Rx ring Niklas Söderlund
2024-02-27 10:24   ` Paul Barker
2024-02-27  1:40 ` [net-next 2/6] ravb: Make it clear the information relates to maximum frame size Niklas Söderlund
2024-02-27 10:25   ` Paul Barker
2024-02-27  1:40 ` [net-next 3/6] ravb: Create helper to allocate skb and align it Niklas Söderlund
2024-02-27 10:21   ` Paul Barker
2024-02-27 20:56   ` Paul Barker
2024-02-27  1:40 ` [net-next 4/6] ravb: Use the max frame size from hardware info for RZ/G2L Niklas Söderlund
2024-02-27 10:31   ` Paul Barker
2024-02-27  1:40 ` [net-next 5/6] ravb: Move maximum Rx descriptor data usage to info struct Niklas Söderlund
2024-02-27 21:03   ` Paul Barker
2024-02-27  1:40 ` [net-next 6/6] ravb: Unify Rx ring maintenance code paths Niklas Söderlund
2024-02-27 21:11   ` Paul Barker
2024-02-27 22:16     ` 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;
as well as URLs for NNTP newsgroup(s).