mirror of https://gitee.com/openkylin/linux.git
sh_eth: get rid of {cpu|edmac}_to_{edmac|cpu}()
Now that {cpu|edmac}_to_{edmac|cpu}() functions boiled down to the mere {cpu|le32}_to_{le32|cpu}() calls, there's no need for these functions anymore, so just get rid of them. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Acked-by: Simon Horman <horms+renesas@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
888cc8c20c
commit
7cf724770b
|
@ -967,18 +967,6 @@ static void sh_eth_set_receive_align(struct sk_buff *skb)
|
||||||
skb_reserve(skb, SH_ETH_RX_ALIGN - reserve);
|
skb_reserve(skb, SH_ETH_RX_ALIGN - reserve);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* CPU <-> EDMAC endian convert */
|
|
||||||
static inline __u32 cpu_to_edmac(struct sh_eth_private *mdp, u32 x)
|
|
||||||
{
|
|
||||||
return cpu_to_le32(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline __u32 edmac_to_cpu(struct sh_eth_private *mdp, u32 x)
|
|
||||||
{
|
|
||||||
return le32_to_cpu(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Program the hardware MAC address from dev->dev_addr. */
|
/* Program the hardware MAC address from dev->dev_addr. */
|
||||||
static void update_mac_address(struct net_device *ndev)
|
static void update_mac_address(struct net_device *ndev)
|
||||||
{
|
{
|
||||||
|
@ -1152,7 +1140,7 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
||||||
rxdesc = &mdp->rx_ring[i];
|
rxdesc = &mdp->rx_ring[i];
|
||||||
/* The size of the buffer is a multiple of 32 bytes. */
|
/* The size of the buffer is a multiple of 32 bytes. */
|
||||||
buf_len = ALIGN(mdp->rx_buf_sz, 32);
|
buf_len = ALIGN(mdp->rx_buf_sz, 32);
|
||||||
rxdesc->len = cpu_to_edmac(mdp, buf_len << 16);
|
rxdesc->len = cpu_to_le32(buf_len << 16);
|
||||||
dma_addr = dma_map_single(&ndev->dev, skb->data, buf_len,
|
dma_addr = dma_map_single(&ndev->dev, skb->data, buf_len,
|
||||||
DMA_FROM_DEVICE);
|
DMA_FROM_DEVICE);
|
||||||
if (dma_mapping_error(&ndev->dev, dma_addr)) {
|
if (dma_mapping_error(&ndev->dev, dma_addr)) {
|
||||||
|
@ -1160,8 +1148,8 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mdp->rx_skbuff[i] = skb;
|
mdp->rx_skbuff[i] = skb;
|
||||||
rxdesc->addr = cpu_to_edmac(mdp, dma_addr);
|
rxdesc->addr = cpu_to_le32(dma_addr);
|
||||||
rxdesc->status = cpu_to_edmac(mdp, RD_RACT | RD_RFP);
|
rxdesc->status = cpu_to_le32(RD_RACT | RD_RFP);
|
||||||
|
|
||||||
/* Rx descriptor address set */
|
/* Rx descriptor address set */
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
|
@ -1175,7 +1163,7 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
||||||
mdp->dirty_rx = (u32) (i - mdp->num_rx_ring);
|
mdp->dirty_rx = (u32) (i - mdp->num_rx_ring);
|
||||||
|
|
||||||
/* Mark the last entry as wrapping the ring. */
|
/* Mark the last entry as wrapping the ring. */
|
||||||
rxdesc->status |= cpu_to_edmac(mdp, RD_RDLE);
|
rxdesc->status |= cpu_to_le32(RD_RDLE);
|
||||||
|
|
||||||
memset(mdp->tx_ring, 0, tx_ringsize);
|
memset(mdp->tx_ring, 0, tx_ringsize);
|
||||||
|
|
||||||
|
@ -1183,8 +1171,8 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
||||||
for (i = 0; i < mdp->num_tx_ring; i++) {
|
for (i = 0; i < mdp->num_tx_ring; i++) {
|
||||||
mdp->tx_skbuff[i] = NULL;
|
mdp->tx_skbuff[i] = NULL;
|
||||||
txdesc = &mdp->tx_ring[i];
|
txdesc = &mdp->tx_ring[i];
|
||||||
txdesc->status = cpu_to_edmac(mdp, TD_TFP);
|
txdesc->status = cpu_to_le32(TD_TFP);
|
||||||
txdesc->len = cpu_to_edmac(mdp, 0);
|
txdesc->len = cpu_to_le32(0);
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
/* Tx descriptor address set */
|
/* Tx descriptor address set */
|
||||||
sh_eth_write(ndev, mdp->tx_desc_dma, TDLAR);
|
sh_eth_write(ndev, mdp->tx_desc_dma, TDLAR);
|
||||||
|
@ -1194,7 +1182,7 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
txdesc->status |= cpu_to_edmac(mdp, TD_TDLE);
|
txdesc->status |= cpu_to_le32(TD_TDLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get skb and descriptor buffer */
|
/* Get skb and descriptor buffer */
|
||||||
|
@ -1350,7 +1338,7 @@ static void sh_eth_dev_exit(struct net_device *ndev)
|
||||||
* packet boundary if it's currently running
|
* packet boundary if it's currently running
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < mdp->num_tx_ring; i++)
|
for (i = 0; i < mdp->num_tx_ring; i++)
|
||||||
mdp->tx_ring[i].status &= ~cpu_to_edmac(mdp, TD_TACT);
|
mdp->tx_ring[i].status &= ~cpu_to_le32(TD_TACT);
|
||||||
|
|
||||||
/* Disable TX FIFO egress to MAC */
|
/* Disable TX FIFO egress to MAC */
|
||||||
sh_eth_rcv_snd_disable(ndev);
|
sh_eth_rcv_snd_disable(ndev);
|
||||||
|
@ -1382,29 +1370,28 @@ static int sh_eth_txfree(struct net_device *ndev)
|
||||||
for (; mdp->cur_tx - mdp->dirty_tx > 0; mdp->dirty_tx++) {
|
for (; mdp->cur_tx - mdp->dirty_tx > 0; mdp->dirty_tx++) {
|
||||||
entry = mdp->dirty_tx % mdp->num_tx_ring;
|
entry = mdp->dirty_tx % mdp->num_tx_ring;
|
||||||
txdesc = &mdp->tx_ring[entry];
|
txdesc = &mdp->tx_ring[entry];
|
||||||
if (txdesc->status & cpu_to_edmac(mdp, TD_TACT))
|
if (txdesc->status & cpu_to_le32(TD_TACT))
|
||||||
break;
|
break;
|
||||||
/* TACT bit must be checked before all the following reads */
|
/* TACT bit must be checked before all the following reads */
|
||||||
dma_rmb();
|
dma_rmb();
|
||||||
netif_info(mdp, tx_done, ndev,
|
netif_info(mdp, tx_done, ndev,
|
||||||
"tx entry %d status 0x%08x\n",
|
"tx entry %d status 0x%08x\n",
|
||||||
entry, edmac_to_cpu(mdp, txdesc->status));
|
entry, le32_to_cpu(txdesc->status));
|
||||||
/* Free the original skb. */
|
/* Free the original skb. */
|
||||||
if (mdp->tx_skbuff[entry]) {
|
if (mdp->tx_skbuff[entry]) {
|
||||||
dma_unmap_single(&ndev->dev,
|
dma_unmap_single(&ndev->dev, le32_to_cpu(txdesc->addr),
|
||||||
edmac_to_cpu(mdp, txdesc->addr),
|
le32_to_cpu(txdesc->len) >> 16,
|
||||||
edmac_to_cpu(mdp, txdesc->len) >> 16,
|
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
dev_kfree_skb_irq(mdp->tx_skbuff[entry]);
|
dev_kfree_skb_irq(mdp->tx_skbuff[entry]);
|
||||||
mdp->tx_skbuff[entry] = NULL;
|
mdp->tx_skbuff[entry] = NULL;
|
||||||
free_num++;
|
free_num++;
|
||||||
}
|
}
|
||||||
txdesc->status = cpu_to_edmac(mdp, TD_TFP);
|
txdesc->status = cpu_to_le32(TD_TFP);
|
||||||
if (entry >= mdp->num_tx_ring - 1)
|
if (entry >= mdp->num_tx_ring - 1)
|
||||||
txdesc->status |= cpu_to_edmac(mdp, TD_TDLE);
|
txdesc->status |= cpu_to_le32(TD_TDLE);
|
||||||
|
|
||||||
ndev->stats.tx_packets++;
|
ndev->stats.tx_packets++;
|
||||||
ndev->stats.tx_bytes += edmac_to_cpu(mdp, txdesc->len) >> 16;
|
ndev->stats.tx_bytes += le32_to_cpu(txdesc->len) >> 16;
|
||||||
}
|
}
|
||||||
return free_num;
|
return free_num;
|
||||||
}
|
}
|
||||||
|
@ -1428,11 +1415,11 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
|
||||||
boguscnt = min(boguscnt, *quota);
|
boguscnt = min(boguscnt, *quota);
|
||||||
limit = boguscnt;
|
limit = boguscnt;
|
||||||
rxdesc = &mdp->rx_ring[entry];
|
rxdesc = &mdp->rx_ring[entry];
|
||||||
while (!(rxdesc->status & cpu_to_edmac(mdp, RD_RACT))) {
|
while (!(rxdesc->status & cpu_to_le32(RD_RACT))) {
|
||||||
/* RACT bit must be checked before all the following reads */
|
/* RACT bit must be checked before all the following reads */
|
||||||
dma_rmb();
|
dma_rmb();
|
||||||
desc_status = edmac_to_cpu(mdp, rxdesc->status);
|
desc_status = le32_to_cpu(rxdesc->status);
|
||||||
pkt_len = edmac_to_cpu(mdp, rxdesc->len) & RD_RFL;
|
pkt_len = le32_to_cpu(rxdesc->len) & RD_RFL;
|
||||||
|
|
||||||
if (--boguscnt < 0)
|
if (--boguscnt < 0)
|
||||||
break;
|
break;
|
||||||
|
@ -1470,7 +1457,7 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
|
||||||
if (desc_status & RD_RFS10)
|
if (desc_status & RD_RFS10)
|
||||||
ndev->stats.rx_over_errors++;
|
ndev->stats.rx_over_errors++;
|
||||||
} else if (skb) {
|
} else if (skb) {
|
||||||
dma_addr = edmac_to_cpu(mdp, rxdesc->addr);
|
dma_addr = le32_to_cpu(rxdesc->addr);
|
||||||
if (!mdp->cd->hw_swap)
|
if (!mdp->cd->hw_swap)
|
||||||
sh_eth_soft_swap(
|
sh_eth_soft_swap(
|
||||||
phys_to_virt(ALIGN(dma_addr, 4)),
|
phys_to_virt(ALIGN(dma_addr, 4)),
|
||||||
|
@ -1499,7 +1486,7 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
|
||||||
rxdesc = &mdp->rx_ring[entry];
|
rxdesc = &mdp->rx_ring[entry];
|
||||||
/* The size of the buffer is 32 byte boundary. */
|
/* The size of the buffer is 32 byte boundary. */
|
||||||
buf_len = ALIGN(mdp->rx_buf_sz, 32);
|
buf_len = ALIGN(mdp->rx_buf_sz, 32);
|
||||||
rxdesc->len = cpu_to_edmac(mdp, buf_len << 16);
|
rxdesc->len = cpu_to_le32(buf_len << 16);
|
||||||
|
|
||||||
if (mdp->rx_skbuff[entry] == NULL) {
|
if (mdp->rx_skbuff[entry] == NULL) {
|
||||||
skb = netdev_alloc_skb(ndev, skbuff_size);
|
skb = netdev_alloc_skb(ndev, skbuff_size);
|
||||||
|
@ -1515,15 +1502,14 @@ static int sh_eth_rx(struct net_device *ndev, u32 intr_status, int *quota)
|
||||||
mdp->rx_skbuff[entry] = skb;
|
mdp->rx_skbuff[entry] = skb;
|
||||||
|
|
||||||
skb_checksum_none_assert(skb);
|
skb_checksum_none_assert(skb);
|
||||||
rxdesc->addr = cpu_to_edmac(mdp, dma_addr);
|
rxdesc->addr = cpu_to_le32(dma_addr);
|
||||||
}
|
}
|
||||||
dma_wmb(); /* RACT bit must be set after all the above writes */
|
dma_wmb(); /* RACT bit must be set after all the above writes */
|
||||||
if (entry >= mdp->num_rx_ring - 1)
|
if (entry >= mdp->num_rx_ring - 1)
|
||||||
rxdesc->status |=
|
rxdesc->status |=
|
||||||
cpu_to_edmac(mdp, RD_RACT | RD_RFP | RD_RDLE);
|
cpu_to_le32(RD_RACT | RD_RFP | RD_RDLE);
|
||||||
else
|
else
|
||||||
rxdesc->status |=
|
rxdesc->status |= cpu_to_le32(RD_RACT | RD_RFP);
|
||||||
cpu_to_edmac(mdp, RD_RACT | RD_RFP);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Restart Rx engine if stopped. */
|
/* Restart Rx engine if stopped. */
|
||||||
|
@ -2323,8 +2309,8 @@ static void sh_eth_tx_timeout(struct net_device *ndev)
|
||||||
/* Free all the skbuffs in the Rx queue. */
|
/* Free all the skbuffs in the Rx queue. */
|
||||||
for (i = 0; i < mdp->num_rx_ring; i++) {
|
for (i = 0; i < mdp->num_rx_ring; i++) {
|
||||||
rxdesc = &mdp->rx_ring[i];
|
rxdesc = &mdp->rx_ring[i];
|
||||||
rxdesc->status = cpu_to_edmac(mdp, 0);
|
rxdesc->status = cpu_to_le32(0);
|
||||||
rxdesc->addr = cpu_to_edmac(mdp, 0xBADF00D0);
|
rxdesc->addr = cpu_to_le32(0xBADF00D0);
|
||||||
dev_kfree_skb(mdp->rx_skbuff[i]);
|
dev_kfree_skb(mdp->rx_skbuff[i]);
|
||||||
mdp->rx_skbuff[i] = NULL;
|
mdp->rx_skbuff[i] = NULL;
|
||||||
}
|
}
|
||||||
|
@ -2372,14 +2358,14 @@ static int sh_eth_start_xmit(struct sk_buff *skb, struct net_device *ndev)
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
}
|
}
|
||||||
txdesc->addr = cpu_to_edmac(mdp, dma_addr);
|
txdesc->addr = cpu_to_le32(dma_addr);
|
||||||
txdesc->len = cpu_to_edmac(mdp, skb->len << 16);
|
txdesc->len = cpu_to_le32(skb->len << 16);
|
||||||
|
|
||||||
dma_wmb(); /* TACT bit must be set after all the above writes */
|
dma_wmb(); /* TACT bit must be set after all the above writes */
|
||||||
if (entry >= mdp->num_tx_ring - 1)
|
if (entry >= mdp->num_tx_ring - 1)
|
||||||
txdesc->status |= cpu_to_edmac(mdp, TD_TACT | TD_TDLE);
|
txdesc->status |= cpu_to_le32(TD_TACT | TD_TDLE);
|
||||||
else
|
else
|
||||||
txdesc->status |= cpu_to_edmac(mdp, TD_TACT);
|
txdesc->status |= cpu_to_le32(TD_TACT);
|
||||||
|
|
||||||
mdp->cur_tx++;
|
mdp->cur_tx++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue