diff options
author | Ioana Ciocoi Radulescu | 2018-11-26 17:27:31 +0100 |
---|---|---|
committer | David S. Miller | 2018-11-28 19:57:45 +0100 |
commit | 5d39dc21482aad384d0a34f44cd06cb841a9ee29 (patch) | |
tree | 2e4bfac82b2123320f1722797932c07257c716d5 /drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | |
parent | dpaa2-eth: Move function (diff) | |
download | kernel-qcow2-linux-5d39dc21482aad384d0a34f44cd06cb841a9ee29.tar.gz kernel-qcow2-linux-5d39dc21482aad384d0a34f44cd06cb841a9ee29.tar.xz kernel-qcow2-linux-5d39dc21482aad384d0a34f44cd06cb841a9ee29.zip |
dpaa2-eth: Release buffers back to pool on XDP_DROP
Instead of freeing the RX buffers, release them back into the pool.
We wait for the maximum number of buffers supported by a single
release command to accumulate before issuing the command.
Also, don't unmap the Rx buffers at the beginning of the Rx routine
anymore, since that would require remapping them before release.
Instead, just do a DMA sync at first and only unmap if the frame is
meant for the stack.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h')
-rw-r--r-- | drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h index 2873a15b6b28..23cf9d94f233 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h @@ -285,6 +285,8 @@ struct dpaa2_eth_fq { struct dpaa2_eth_ch_xdp { struct bpf_prog *prog; + u64 drop_bufs[DPAA2_ETH_BUFS_PER_CMD]; + int drop_cnt; }; struct dpaa2_eth_channel { |