Message ID | 20240227223305.910452-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
Headers | show |
Series | ravb: Align Rx descriptor setup and maintenance | expand |
On 2/28/24 1:32 AM, Niklas Söderlund wrote: > 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 s/where/were/, s/lead/led/. > 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 s/clarify/clarifies/. > 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. Aligning? > Patch 2-5 deals with correcting small issues in the Rx frame and Patches 2-5. > descriptor sizes that either where incorrect at the time they were added s/where/were/. > 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 | 210 ++++++++--------------- > 2 files changed, 83 insertions(+), 147 deletions(-) Dave, Jakub, et al, please don't merge this patchset without my review! I'm hoping I can get to reviewing it closer to this weekend... MBR, Sergey