diff options
author | Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> | 2011-06-30 18:52:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-03 23:10:47 -0400 |
commit | 31fcb99d9958bdf04e84224e202f69e6cdac893b (patch) | |
tree | e4575e4e75003aebae8fca41b8fd215d725a7dba /drivers | |
parent | ee9c88f2283c80d9926f980848ae02cc3e88ee57 (diff) |
net: sh_eth: remove __flush_purge_region
It is a function of SuperH architecture. There is no good to use
the function on a driver generally. So, the driver uses
dma_map_single() instead of __flush_purge_region.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/sh_eth.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c index 96a629f1678..3da168a859c 100644 --- a/drivers/net/sh_eth.c +++ b/drivers/net/sh_eth.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include <linux/pm_runtime.h> | 33 | #include <linux/pm_runtime.h> |
34 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
35 | #include <linux/ethtool.h> | 35 | #include <linux/ethtool.h> |
36 | #include <asm/cacheflush.h> | ||
37 | 36 | ||
38 | #include "sh_eth.h" | 37 | #include "sh_eth.h" |
39 | 38 | ||
@@ -864,6 +863,8 @@ static int sh_eth_txfree(struct net_device *ndev) | |||
864 | break; | 863 | break; |
865 | /* Free the original skb. */ | 864 | /* Free the original skb. */ |
866 | if (mdp->tx_skbuff[entry]) { | 865 | if (mdp->tx_skbuff[entry]) { |
866 | dma_unmap_single(&ndev->dev, txdesc->addr, | ||
867 | txdesc->buffer_length, DMA_TO_DEVICE); | ||
867 | dev_kfree_skb_irq(mdp->tx_skbuff[entry]); | 868 | dev_kfree_skb_irq(mdp->tx_skbuff[entry]); |
868 | mdp->tx_skbuff[entry] = NULL; | 869 | mdp->tx_skbuff[entry] = NULL; |
869 | freeNum++; | 870 | freeNum++; |
@@ -1487,13 +1488,12 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev) | |||
1487 | entry = mdp->cur_tx % TX_RING_SIZE; | 1488 | entry = mdp->cur_tx % TX_RING_SIZE; |
1488 | mdp->tx_skbuff[entry] = skb; | 1489 | mdp->tx_skbuff[entry] = skb; |
1489 | txdesc = &mdp->tx_ring[entry]; | 1490 | txdesc = &mdp->tx_ring[entry]; |
1490 | txdesc->addr = virt_to_phys(skb->data); | ||
1491 | /* soft swap. */ | 1491 | /* soft swap. */ |
1492 | if (!mdp->cd->hw_swap) | 1492 | if (!mdp->cd->hw_swap) |
1493 | sh_eth_soft_swap(phys_to_virt(ALIGN(txdesc->addr, 4)), | 1493 | sh_eth_soft_swap(phys_to_virt(ALIGN(txdesc->addr, 4)), |
1494 | skb->len + 2); | 1494 | skb->len + 2); |
1495 | /* write back */ | 1495 | txdesc->addr = dma_map_single(&ndev->dev, skb->data, skb->len, |
1496 | __flush_purge_region(skb->data, skb->len); | 1496 | DMA_TO_DEVICE); |
1497 | if (skb->len < ETHERSMALL) | 1497 | if (skb->len < ETHERSMALL) |
1498 | txdesc->buffer_length = ETHERSMALL; | 1498 | txdesc->buffer_length = ETHERSMALL; |
1499 | else | 1499 | else |