Message ID | 20220404130655.4004204-1-horatiu.vultur@microchip.com (mailing list archive) |
---|---|
Headers | show |
Series | net: lan966x: Add support for FDMA | expand |
Am 2022-04-04 15:06, schrieb Horatiu Vultur: > Currently when injecting or extracting a frame from CPU, the frame > is given to the HW each word at a time. There is another way to > inject/extract frames from CPU using FDMA(Frame Direct Memory Access). > In this way the entire frame is given to the HW. This improves both > RX and TX bitrate. > > v2->v3: > - move skb_tx_timestamp before the IFH is inserted, because in case of > PHY > timestamping, the PHY should not see the IFH. > - use lower/upper_32_bits() > - reimplement the RX path in case of memory pressure. > - use devm_request_irq instead of devm_request_threaded_irq > - add various checks for return values. > > v1->v2: > - fix typo in commit message in last patch > - remove first patch as the changes are already there > - make sure that there is space in skb to put the FCS > - move skb_tx_timestamp closer to the handover of the frame to the HW > > Horatiu Vultur (4): > net: lan966x: Add registers that are used for FDMA. > net: lan966x: Expose functions that are needed by FDMA > net: lan966x: Add FDMA functionality > net: lan966x: Update FDMA to change MTU. > > .../net/ethernet/microchip/lan966x/Makefile | 2 +- > .../ethernet/microchip/lan966x/lan966x_fdma.c | 783 ++++++++++++++++++ > .../ethernet/microchip/lan966x/lan966x_main.c | 49 +- > .../ethernet/microchip/lan966x/lan966x_main.h | 121 +++ > .../ethernet/microchip/lan966x/lan966x_port.c | 3 + > .../ethernet/microchip/lan966x/lan966x_regs.h | 106 +++ > 6 files changed, 1052 insertions(+), 12 deletions(-) > create mode 100644 > drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c For this series: Tested-by: Michael Walle <michael@walle.cc> # on kontron-kswitch-d10 -michael