summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
authorIoana Radulescu <ruxandra.radulescu@freescale.com>2013-09-18 09:50:48 (GMT)
committerRivera Jose-B46482 <German.Rivera@freescale.com>2013-09-20 18:48:59 (GMT)
commit225f9c814d26de2b2265ecf68c714120ce85cdfb (patch)
tree9e39b9da29944eda466dcb71ca6c6c33238b47e9 /drivers/net/ethernet
parent4fac136a0405923bb48f7340a060a1b6bc130d4d (diff)
downloadlinux-fsl-qoriq-225f9c814d26de2b2265ecf68c714120ce85cdfb.tar.xz
dpaa_eth: Minor changes
A bit of cleanup in function skb_to_contig_fd(). Signed-off-by: Ioana Radulescu <ruxandra.radulescu@freescale.com> Change-Id: Ifbf32b298d1588574b9eabf90d0bd1607b733d2c Reviewed-on: http://git.am.freescale.net:8181/4837 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com> Reviewed-by: Rivera Jose-B46482 <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
index a594b80..61f2c40 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_sg.c
@@ -604,9 +604,9 @@ static int __hot skb_to_contig_fd(struct dpa_priv_s *priv,
struct dpa_bp *dpa_bp = priv->dpa_bp;
struct net_device *net_dev = priv->net_dev;
int err;
- enum dma_data_direction dma_dir = DMA_TO_DEVICE;
+ enum dma_data_direction dma_dir;
int *count_ptr = __this_cpu_ptr(dpa_bp->percpu_count);
- unsigned char *rec_buf_start;
+ unsigned char *buffer_start;
#ifndef CONFIG_FSL_DPAA_TS
/* Check recycling conditions; only if timestamp support is not
@@ -621,15 +621,14 @@ static int __hot skb_to_contig_fd(struct dpa_priv_s *priv,
if (likely((*count_ptr < dpa_bp->target_count) &&
dpa_skb_is_recyclable(skb) &&
dpa_buf_is_recyclable(skb, dpa_bp->size,
- priv->tx_headroom, &rec_buf_start))) {
- /* Buffer is recyclable; use the new start address */
- skbh = (struct sk_buff **)rec_buf_start;
-
- /* and set fd parameters and DMA mapping direction */
+ priv->tx_headroom, &buffer_start))) {
+ /* Buffer is recyclable; use the new start address
+ * and set fd parameters and DMA mapping direction
+ */
fd->cmd |= FM_FD_CMD_FCO;
fd->bpid = dpa_bp->bpid;
- BUG_ON(skb->data - rec_buf_start > DPA_MAX_FD_OFFSET);
- fd->offset = (uint16_t)(skb->data - rec_buf_start);
+ BUG_ON(skb->data - buffer_start > DPA_MAX_FD_OFFSET);
+ fd->offset = (uint16_t)(skb->data - buffer_start);
dma_dir = DMA_BIDIRECTIONAL;
} else
#endif
@@ -638,10 +637,12 @@ static int __hot skb_to_contig_fd(struct dpa_priv_s *priv,
* We are guaranteed to have at least tx_headroom bytes
* available, so just use that for offset.
*/
- skbh = (struct sk_buff **)(skb->data - priv->tx_headroom);
+ buffer_start = skb->data - priv->tx_headroom;
fd->offset = priv->tx_headroom;
+ dma_dir = DMA_TO_DEVICE;
}
+ skbh = (struct sk_buff **)buffer_start;
*skbh = skb;
/* Enable L3/L4 hardware checksum computation.
@@ -663,7 +664,7 @@ static int __hot skb_to_contig_fd(struct dpa_priv_s *priv,
/* Map the entire buffer size that may be seen by FMan, but no more */
addr = dma_map_single(dpa_bp->dev, skbh,
- skb_end_pointer(skb) - (unsigned char *)skbh, dma_dir);
+ skb_end_pointer(skb) - buffer_start, dma_dir);
if (unlikely(dma_mapping_error(dpa_bp->dev, addr))) {
if (netif_msg_tx_err(priv) && net_ratelimit())
netdev_err(net_dev, "dma_map_single() failed\n");