Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 253432
b: refs/heads/master
c: fc9b491
h: refs/heads/master
v: v3
  • Loading branch information
Mika Westerberg authored and David S. Miller committed Jun 11, 2011
1 parent 10c8baf commit 4b329ab
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fa70cf472c0bc3a0d7e613a418cfc1117b796c6c
refs/heads/master: fc9b4910b00039da054f221e2821be0519261101
23 changes: 13 additions & 10 deletions trunk/drivers/net/arm/ep93xx_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ static int ep93xx_rx(struct net_device *dev, int processed, int budget)
skb = dev_alloc_skb(length + 2);
if (likely(skb != NULL)) {
skb_reserve(skb, 2);
dma_sync_single_for_cpu(NULL, ep->descs->rdesc[entry].buf_addr,
dma_sync_single_for_cpu(dev->dev.parent, ep->descs->rdesc[entry].buf_addr,
length, DMA_FROM_DEVICE);
skb_copy_to_linear_data(skb, ep->rx_buf[entry], length);
skb_put(skb, length);
Expand Down Expand Up @@ -362,7 +362,7 @@ static int ep93xx_xmit(struct sk_buff *skb, struct net_device *dev)
ep->descs->tdesc[entry].tdesc1 =
TDESC1_EOF | (entry << 16) | (skb->len & 0xfff);
skb_copy_and_csum_dev(skb, ep->tx_buf[entry]);
dma_sync_single_for_cpu(NULL, ep->descs->tdesc[entry].buf_addr,
dma_sync_single_for_cpu(dev->dev.parent, ep->descs->tdesc[entry].buf_addr,
skb->len, DMA_TO_DEVICE);
dev_kfree_skb(skb);

Expand Down Expand Up @@ -457,14 +457,15 @@ static irqreturn_t ep93xx_irq(int irq, void *dev_id)

static void ep93xx_free_buffers(struct ep93xx_priv *ep)
{
struct device *dev = ep->dev->dev.parent;
int i;

for (i = 0; i < RX_QUEUE_ENTRIES; i += 2) {
dma_addr_t d;

d = ep->descs->rdesc[i].buf_addr;
if (d)
dma_unmap_single(NULL, d, PAGE_SIZE, DMA_FROM_DEVICE);
dma_unmap_single(dev, d, PAGE_SIZE, DMA_FROM_DEVICE);

if (ep->rx_buf[i] != NULL)
free_page((unsigned long)ep->rx_buf[i]);
Expand All @@ -475,13 +476,13 @@ static void ep93xx_free_buffers(struct ep93xx_priv *ep)

d = ep->descs->tdesc[i].buf_addr;
if (d)
dma_unmap_single(NULL, d, PAGE_SIZE, DMA_TO_DEVICE);
dma_unmap_single(dev, d, PAGE_SIZE, DMA_TO_DEVICE);

if (ep->tx_buf[i] != NULL)
free_page((unsigned long)ep->tx_buf[i]);
}

dma_free_coherent(NULL, sizeof(struct ep93xx_descs), ep->descs,
dma_free_coherent(dev, sizeof(struct ep93xx_descs), ep->descs,
ep->descs_dma_addr);
}

Expand All @@ -491,9 +492,10 @@ static void ep93xx_free_buffers(struct ep93xx_priv *ep)
*/
static int ep93xx_alloc_buffers(struct ep93xx_priv *ep)
{
struct device *dev = ep->dev->dev.parent;
int i;

ep->descs = dma_alloc_coherent(NULL, sizeof(struct ep93xx_descs),
ep->descs = dma_alloc_coherent(dev, sizeof(struct ep93xx_descs),
&ep->descs_dma_addr, GFP_KERNEL | GFP_DMA);
if (ep->descs == NULL)
return 1;
Expand All @@ -506,8 +508,8 @@ static int ep93xx_alloc_buffers(struct ep93xx_priv *ep)
if (page == NULL)
goto err;

d = dma_map_single(NULL, page, PAGE_SIZE, DMA_FROM_DEVICE);
if (dma_mapping_error(NULL, d)) {
d = dma_map_single(dev, page, PAGE_SIZE, DMA_FROM_DEVICE);
if (dma_mapping_error(dev, d)) {
free_page((unsigned long)page);
goto err;
}
Expand All @@ -529,8 +531,8 @@ static int ep93xx_alloc_buffers(struct ep93xx_priv *ep)
if (page == NULL)
goto err;

d = dma_map_single(NULL, page, PAGE_SIZE, DMA_TO_DEVICE);
if (dma_mapping_error(NULL, d)) {
d = dma_map_single(dev, page, PAGE_SIZE, DMA_TO_DEVICE);
if (dma_mapping_error(dev, d)) {
free_page((unsigned long)page);
goto err;
}
Expand Down Expand Up @@ -829,6 +831,7 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
}
ep = netdev_priv(dev);
ep->dev = dev;
SET_NETDEV_DEV(dev, &pdev->dev);
netif_napi_add(dev, &ep->napi, ep93xx_poll, 64);

platform_set_drvdata(pdev, dev);
Expand Down

0 comments on commit 4b329ab

Please sign in to comment.