mvpp2: XDP TX support
authorMatteo Croce <mcroce@microsoft.com>
Thu, 2 Jul 2020 14:12:43 +0000 (16:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Jul 2020 21:46:24 +0000 (14:46 -0700)
commitc2d6fe6163de80d7f7cf400ee351f56d6cdb7a5a
treeffce82631cf0501efe24dabe7462bf4f52509a5b
parent07dd0a7aae7f72af7cec18909581c2bb570edddc
mvpp2: XDP TX support

Add the transmit part of XDP support, which includes:
- support for XDP_TX in mvpp2_xdp()
- .ndo_xdp_xmit hook for AF_XDP and XDP_REDIRECT with mvpp2 as destination

mvpp2_xdp_submit_frame() is a generic function which is called by
mvpp2_xdp_xmit_back() when doing XDP_TX, and by mvpp2_xdp_xmit when
doing AF_XDP or XDP_REDIRECT target.

The buffer allocation has been reworked to be able to map the buffers
as DMA_FROM_DEVICE or DMA_BIDIRECTIONAL depending if native XDP is
in use or not.

Co-developed-by: Sven Auhagen <sven.auhagen@voleatech.de>
Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de>
Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2.h
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c