aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/eni.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/atm/eni.c')
-rw-r--r--drivers/atm/eni.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index c7fab3ee14ee..6339efd32697 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -354,9 +354,9 @@ static int do_rx_dma(struct atm_vcc *vcc,struct sk_buff *skb,
354 eni_vcc = ENI_VCC(vcc); 354 eni_vcc = ENI_VCC(vcc);
355 paddr = 0; /* GCC, shut up */ 355 paddr = 0; /* GCC, shut up */
356 if (skb) { 356 if (skb) {
357 paddr = pci_map_single(eni_dev->pci_dev,skb->data,skb->len, 357 paddr = dma_map_single(&eni_dev->pci_dev->dev,skb->data,skb->len,
358 PCI_DMA_FROMDEVICE); 358 DMA_FROM_DEVICE);
359 if (pci_dma_mapping_error(eni_dev->pci_dev, paddr)) 359 if (dma_mapping_error(&eni_dev->pci_dev->dev, paddr))
360 goto dma_map_error; 360 goto dma_map_error;
361 ENI_PRV_PADDR(skb) = paddr; 361 ENI_PRV_PADDR(skb) = paddr;
362 if (paddr & 3) 362 if (paddr & 3)
@@ -481,8 +481,8 @@ rx_enqueued++;
481 481
482trouble: 482trouble:
483 if (paddr) 483 if (paddr)
484 pci_unmap_single(eni_dev->pci_dev,paddr,skb->len, 484 dma_unmap_single(&eni_dev->pci_dev->dev,paddr,skb->len,
485 PCI_DMA_FROMDEVICE); 485 DMA_FROM_DEVICE);
486dma_map_error: 486dma_map_error:
487 if (skb) dev_kfree_skb_irq(skb); 487 if (skb) dev_kfree_skb_irq(skb);
488 return -1; 488 return -1;
@@ -758,8 +758,8 @@ rx_dequeued++;
758 } 758 }
759 eni_vcc->rxing--; 759 eni_vcc->rxing--;
760 eni_vcc->rx_pos = ENI_PRV_POS(skb) & (eni_vcc->words-1); 760 eni_vcc->rx_pos = ENI_PRV_POS(skb) & (eni_vcc->words-1);
761 pci_unmap_single(eni_dev->pci_dev,ENI_PRV_PADDR(skb),skb->len, 761 dma_unmap_single(&eni_dev->pci_dev->dev,ENI_PRV_PADDR(skb),skb->len,
762 PCI_DMA_TODEVICE); 762 DMA_TO_DEVICE);
763 if (!skb->len) dev_kfree_skb_irq(skb); 763 if (!skb->len) dev_kfree_skb_irq(skb);
764 else { 764 else {
765 EVENT("pushing (len=%ld)\n",skb->len,0); 765 EVENT("pushing (len=%ld)\n",skb->len,0);
@@ -1112,8 +1112,8 @@ DPRINTK("iovcnt = %d\n",skb_shinfo(skb)->nr_frags);
1112 vcc->dev->number); 1112 vcc->dev->number);
1113 return enq_jam; 1113 return enq_jam;
1114 } 1114 }
1115 paddr = pci_map_single(eni_dev->pci_dev,skb->data,skb->len, 1115 paddr = dma_map_single(&eni_dev->pci_dev->dev,skb->data,skb->len,
1116 PCI_DMA_TODEVICE); 1116 DMA_TO_DEVICE);
1117 ENI_PRV_PADDR(skb) = paddr; 1117 ENI_PRV_PADDR(skb) = paddr;
1118 /* prepare DMA queue entries */ 1118 /* prepare DMA queue entries */
1119 j = 0; 1119 j = 0;
@@ -1226,8 +1226,8 @@ static void dequeue_tx(struct atm_dev *dev)
1226 break; 1226 break;
1227 } 1227 }
1228 ENI_VCC(vcc)->txing -= ENI_PRV_SIZE(skb); 1228 ENI_VCC(vcc)->txing -= ENI_PRV_SIZE(skb);
1229 pci_unmap_single(eni_dev->pci_dev,ENI_PRV_PADDR(skb),skb->len, 1229 dma_unmap_single(&eni_dev->pci_dev->dev,ENI_PRV_PADDR(skb),skb->len,
1230 PCI_DMA_TODEVICE); 1230 DMA_TO_DEVICE);
1231 if (vcc->pop) vcc->pop(vcc,skb); 1231 if (vcc->pop) vcc->pop(vcc,skb);
1232 else dev_kfree_skb_irq(skb); 1232 else dev_kfree_skb_irq(skb);
1233 atomic_inc(&vcc->stats->tx); 1233 atomic_inc(&vcc->stats->tx);
@@ -2240,13 +2240,18 @@ static int eni_init_one(struct pci_dev *pci_dev,
2240 if (rc < 0) 2240 if (rc < 0)
2241 goto out; 2241 goto out;
2242 2242
2243 rc = dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(32));
2244 if (rc < 0)
2245 goto out;
2246
2243 rc = -ENOMEM; 2247 rc = -ENOMEM;
2244 eni_dev = kmalloc(sizeof(struct eni_dev), GFP_KERNEL); 2248 eni_dev = kmalloc(sizeof(struct eni_dev), GFP_KERNEL);
2245 if (!eni_dev) 2249 if (!eni_dev)
2246 goto err_disable; 2250 goto err_disable;
2247 2251
2248 zero = &eni_dev->zero; 2252 zero = &eni_dev->zero;
2249 zero->addr = pci_alloc_consistent(pci_dev, ENI_ZEROES_SIZE, &zero->dma); 2253 zero->addr = dma_alloc_coherent(&pci_dev->dev,
2254 ENI_ZEROES_SIZE, &zero->dma, GFP_KERNEL);
2250 if (!zero->addr) 2255 if (!zero->addr)
2251 goto err_kfree; 2256 goto err_kfree;
2252 2257
@@ -2277,7 +2282,7 @@ err_eni_release:
2277err_unregister: 2282err_unregister:
2278 atm_dev_deregister(dev); 2283 atm_dev_deregister(dev);
2279err_free_consistent: 2284err_free_consistent:
2280 pci_free_consistent(pci_dev, ENI_ZEROES_SIZE, zero->addr, zero->dma); 2285 dma_free_coherent(&pci_dev->dev, ENI_ZEROES_SIZE, zero->addr, zero->dma);
2281err_kfree: 2286err_kfree:
2282 kfree(eni_dev); 2287 kfree(eni_dev);
2283err_disable: 2288err_disable:
@@ -2302,7 +2307,7 @@ static void eni_remove_one(struct pci_dev *pdev)
2302 2307
2303 eni_do_release(dev); 2308 eni_do_release(dev);
2304 atm_dev_deregister(dev); 2309 atm_dev_deregister(dev);
2305 pci_free_consistent(pdev, ENI_ZEROES_SIZE, zero->addr, zero->dma); 2310 dma_free_coherent(&pdev->dev, ENI_ZEROES_SIZE, zero->addr, zero->dma);
2306 kfree(ed); 2311 kfree(ed);
2307 pci_disable_device(pdev); 2312 pci_disable_device(pdev);
2308} 2313}