diff options
author | Felix Fietkau <nbd@nbd.name> | 2018-06-06 09:56:13 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2018-06-19 09:45:28 +0200 |
commit | 9a4253b81f3b3fff833ef92737ef73ad4c455ade (patch) | |
tree | 9e97618bb14dcbab0b64d2a6ebcd893e1ed4fb29 /target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h | |
parent | c49ae68cbaf078a3dacaebf453d9e7ece2e861f5 (diff) | |
download | upstream-9a4253b81f3b3fff833ef92737ef73ad4c455ade.tar.gz upstream-9a4253b81f3b3fff833ef92737ef73ad4c455ade.tar.bz2 upstream-9a4253b81f3b3fff833ef92737ef73ad4c455ade.zip |
ramips: improve ethernet driver performance with GRO/TSO
GRO stores packets as fraglist. If they are routed back to the ethernet
device, they need to be re-segmented if the driver does not support
sending fraglists.
Add the missing support for that, along with a missing feature flag that
allows full routed GRO->TSO offload.
Considerably reduces CPU utilization for routing
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h')
-rw-r--r-- | target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h index dfaa5fd9ea..517d8ba4dc 100644 --- a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -435,19 +435,12 @@ struct fe_hw_stats { #undef _FE }; -enum fe_tx_flags { - FE_TX_FLAGS_SINGLE0 = 0x01, - FE_TX_FLAGS_PAGE0 = 0x02, - FE_TX_FLAGS_PAGE1 = 0x04, -}; - struct fe_tx_buf { struct sk_buff *skb; - u32 flags; DEFINE_DMA_UNMAP_ADDR(dma_addr0); - DEFINE_DMA_UNMAP_LEN(dma_len0); DEFINE_DMA_UNMAP_ADDR(dma_addr1); - DEFINE_DMA_UNMAP_LEN(dma_len1); + u16 dma_len0; + u16 dma_len1; }; struct fe_tx_ring { |