Revert "net: ethernet: cortina: Drop TSO support"
This reverts commit 5a37f561e7
.
This commit is contained in:
parent
3447182bc8
commit
d95116a19d
1 changed files with 13 additions and 2 deletions
|
@ -80,7 +80,8 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
|
|||
#define GMAC0_IRQ4_8 (GMAC0_MIB_INT_BIT | GMAC0_RX_OVERRUN_INT_BIT)
|
||||
|
||||
#define GMAC_OFFLOAD_FEATURES (NETIF_F_SG | NETIF_F_IP_CSUM | \
|
||||
NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
|
||||
NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | \
|
||||
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
|
||||
|
||||
/**
|
||||
* struct gmac_queue_page - page buffer per-page info
|
||||
|
@ -1148,13 +1149,23 @@ static int gmac_map_tx_bufs(struct net_device *netdev, struct sk_buff *skb,
|
|||
struct gmac_txdesc *txd;
|
||||
skb_frag_t *skb_frag;
|
||||
dma_addr_t mapping;
|
||||
unsigned short mtu;
|
||||
void *buffer;
|
||||
int ret;
|
||||
|
||||
/* TODO: implement proper TSO using MTU in word3 */
|
||||
mtu = ETH_HLEN;
|
||||
mtu += netdev->mtu;
|
||||
if (skb->protocol == htons(ETH_P_8021Q))
|
||||
mtu += VLAN_HLEN;
|
||||
|
||||
word1 = skb->len;
|
||||
word3 = SOF_BIT;
|
||||
|
||||
if (word1 > mtu) {
|
||||
word1 |= TSS_MTU_ENABLE_BIT;
|
||||
word3 |= mtu;
|
||||
}
|
||||
|
||||
if (skb->len >= ETH_FRAME_LEN) {
|
||||
/* Hardware offloaded checksumming isn't working on frames
|
||||
* bigger than 1514 bytes. A hypothesis about this is that the
|
||||
|
|
Loading…
Reference in a new issue