|
@@ -613,7 +613,7 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
|
|
|
struct mtk_mac *mac = netdev_priv(dev);
|
|
|
struct mtk_eth *eth = mac->hw;
|
|
|
struct mtk_tx_dma *itxd, *txd;
|
|
|
- struct mtk_tx_buf *tx_buf;
|
|
|
+ struct mtk_tx_buf *itx_buf, *tx_buf;
|
|
|
dma_addr_t mapped_addr;
|
|
|
unsigned int nr_frags;
|
|
|
int i, n_desc = 1;
|
|
@@ -627,8 +627,8 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
|
|
|
fport = (mac->id + 1) << TX_DMA_FPORT_SHIFT;
|
|
|
txd4 |= fport;
|
|
|
|
|
|
- tx_buf = mtk_desc_to_tx_buf(ring, itxd);
|
|
|
- memset(tx_buf, 0, sizeof(*tx_buf));
|
|
|
+ itx_buf = mtk_desc_to_tx_buf(ring, itxd);
|
|
|
+ memset(itx_buf, 0, sizeof(*itx_buf));
|
|
|
|
|
|
if (gso)
|
|
|
txd4 |= TX_DMA_TSO;
|
|
@@ -647,9 +647,9 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
|
|
|
return -ENOMEM;
|
|
|
|
|
|
WRITE_ONCE(itxd->txd1, mapped_addr);
|
|
|
- tx_buf->flags |= MTK_TX_FLAGS_SINGLE0;
|
|
|
- dma_unmap_addr_set(tx_buf, dma_addr0, mapped_addr);
|
|
|
- dma_unmap_len_set(tx_buf, dma_len0, skb_headlen(skb));
|
|
|
+ itx_buf->flags |= MTK_TX_FLAGS_SINGLE0;
|
|
|
+ dma_unmap_addr_set(itx_buf, dma_addr0, mapped_addr);
|
|
|
+ dma_unmap_len_set(itx_buf, dma_len0, skb_headlen(skb));
|
|
|
|
|
|
/* TX SG offload */
|
|
|
txd = itxd;
|
|
@@ -685,10 +685,9 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
|
|
|
last_frag * TX_DMA_LS0));
|
|
|
WRITE_ONCE(txd->txd4, fport);
|
|
|
|
|
|
- tx_buf->skb = (struct sk_buff *)MTK_DMA_DUMMY_DESC;
|
|
|
tx_buf = mtk_desc_to_tx_buf(ring, txd);
|
|
|
memset(tx_buf, 0, sizeof(*tx_buf));
|
|
|
-
|
|
|
+ tx_buf->skb = (struct sk_buff *)MTK_DMA_DUMMY_DESC;
|
|
|
tx_buf->flags |= MTK_TX_FLAGS_PAGE0;
|
|
|
dma_unmap_addr_set(tx_buf, dma_addr0, mapped_addr);
|
|
|
dma_unmap_len_set(tx_buf, dma_len0, frag_map_size);
|
|
@@ -698,7 +697,7 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
|
|
|
}
|
|
|
|
|
|
/* store skb to cleanup */
|
|
|
- tx_buf->skb = skb;
|
|
|
+ itx_buf->skb = skb;
|
|
|
|
|
|
WRITE_ONCE(itxd->txd4, txd4);
|
|
|
WRITE_ONCE(itxd->txd3, (TX_DMA_SWC | TX_DMA_PLEN0(skb_headlen(skb)) |
|