net: ethernet: altera: TSE: Remove unneeded dma sync for tx buffers
authorLino Sanfilippo <LinoSanfilippo@gmx.de>
Wed, 30 Nov 2016 22:48:31 +0000 (23:48 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Dec 2016 17:10:24 +0000 (12:10 -0500)
An explicit dma sync for device directly after mapping as well as an
explicit dma sync for cpu directly before unmapping is unnecessary and
costly on the hotpath. So remove these calls.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/altera/altera_tse_main.c

index 6532829b70d27c046759dc2d64319cf01a168bb5..28689092ff19cd676bbe189d10b76fd5abfa9f36 100644 (file)
@@ -400,12 +400,6 @@ static int tse_rx(struct altera_tse_private *priv, int limit)
 
                skb_put(skb, pktlength);
 
-               /* make cache consistent with receive packet buffer */
-               dma_sync_single_for_cpu(priv->device,
-                                       priv->rx_ring[entry].dma_addr,
-                                       priv->rx_ring[entry].len,
-                                       DMA_FROM_DEVICE);
-
                dma_unmap_single(priv->device, priv->rx_ring[entry].dma_addr,
                                 priv->rx_ring[entry].len, DMA_FROM_DEVICE);
 
@@ -592,10 +586,6 @@ static int tse_start_xmit(struct sk_buff *skb, struct net_device *dev)
        buffer->dma_addr = dma_addr;
        buffer->len = nopaged_len;
 
-       /* Push data out of the cache hierarchy into main memory */
-       dma_sync_single_for_device(priv->device, buffer->dma_addr,
-                                  buffer->len, DMA_TO_DEVICE);
-
        priv->dmaops->tx_buffer(priv, buffer);
 
        skb_tx_timestamp(skb);