net: ethernet: mediatek: add HW LRO functions of PDMA RX rings
authorNelson Chang <nelson.chang@mediatek.com>
Sat, 17 Sep 2016 15:50:55 +0000 (23:50 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Sep 2016 05:40:47 +0000 (01:40 -0400)
commitee40681037c0e5fa0058447d7603a4fb77308bce
treeea30a4b88ef5eab046e468524a90287ea027e07e
parent0fbc81b3ad513fecaaf62b48f42b89fcd57f7682
net: ethernet: mediatek: add HW LRO functions of PDMA RX rings

The codes add the large receive offload (LRO) functions by hardware as below:
1) PDMA has total four RX rings that one is the normal ring, and others can
   be configured as LRO rings.
2) Only TCP/IP RX flows can be offloaded. The hardware can set four IP
   addresses at most, if the destination IP of the RX flow matches one of
   them, it has the chance to be offloaded.
3) There three RX flows can be offloaded at most, and one flow is mapped to
   one RX ring.
4) If there are more than three candidate RX flows, the hardware can
   choose three of them by throughput comparison results.

Signed-off-by: Nelson Chang <nelson.chang@mediatek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_eth_soc.c
drivers/net/ethernet/mediatek/mtk_eth_soc.h