Commit 85eb5bc3 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by David S. Miller

net: atheros: switch from 'pci_' to 'dma_' API

The wrappers in include/linux/pci-dma-compat.h should go away.

The patch has been generated with the coccinelle script below and has been
hand modified to replace GFP_ with a correct flag.
It has been compile tested.

When memory is allocated in 'atl1e_setup_ring_resources()' (atl1e_main.c),
'atl1_setup_ring_resources()' (atl1.c) and 'atl2_setup_ring_resources()'
(atl2.c) GFP_KERNEL can be used because it can be called from a .ndo_open.

'atl1_setup_ring_resources()' (atl1.c) can also be called from a
'.set_ringparam' (see struct ethtool_ops) where sleep is also allowed.

Both cases are protected by 'rtnl_lock()' which is a mutex. So these
function can sleep.

@@
@@
-    PCI_DMA_BIDIRECTIONAL
+    DMA_BIDIRECTIONAL

@@
@@
-    PCI_DMA_TODEVICE
+    DMA_TO_DEVICE

@@
@@
-    PCI_DMA_FROMDEVICE
+    DMA_FROM_DEVICE

@@
@@
-    PCI_DMA_NONE
+    DMA_NONE

@@
expression e1, e2, e3;
@@
-    pci_alloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3;
@@
-    pci_zalloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3, e4;
@@
-    pci_free_consistent(e1, e2, e3, e4)
+    dma_free_coherent(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_single(e1, e2, e3, e4)
+    dma_map_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_single(e1, e2, e3, e4)
+    dma_unmap_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4, e5;
@@
-    pci_map_page(e1, e2, e3, e4, e5)
+    dma_map_page(&e1->dev, e2, e3, e4, e5)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_page(e1, e2, e3, e4)
+    dma_unmap_page(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_sg(e1, e2, e3, e4)
+    dma_map_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_sg(e1, e2, e3, e4)
+    dma_unmap_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
+    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_device(e1, e2, e3, e4)
+    dma_sync_single_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
+    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
+    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2;
@@
-    pci_dma_mapping_error(e1, e2)
+    dma_mapping_error(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_dma_mask(e1, e2)
+    dma_set_mask(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_consistent_dma_mask(e1, e2)
+    dma_set_coherent_mask(&e1->dev, e2)
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5d63ccea
...@@ -826,16 +826,16 @@ static inline void atl1c_clean_buffer(struct pci_dev *pdev, ...@@ -826,16 +826,16 @@ static inline void atl1c_clean_buffer(struct pci_dev *pdev,
return; return;
if (buffer_info->dma) { if (buffer_info->dma) {
if (buffer_info->flags & ATL1C_PCIMAP_FROMDEVICE) if (buffer_info->flags & ATL1C_PCIMAP_FROMDEVICE)
pci_driection = PCI_DMA_FROMDEVICE; pci_driection = DMA_FROM_DEVICE;
else else
pci_driection = PCI_DMA_TODEVICE; pci_driection = DMA_TO_DEVICE;
if (buffer_info->flags & ATL1C_PCIMAP_SINGLE) if (buffer_info->flags & ATL1C_PCIMAP_SINGLE)
pci_unmap_single(pdev, buffer_info->dma, dma_unmap_single(&pdev->dev, buffer_info->dma,
buffer_info->length, pci_driection); buffer_info->length, pci_driection);
else if (buffer_info->flags & ATL1C_PCIMAP_PAGE) else if (buffer_info->flags & ATL1C_PCIMAP_PAGE)
pci_unmap_page(pdev, buffer_info->dma, dma_unmap_page(&pdev->dev, buffer_info->dma,
buffer_info->length, pci_driection); buffer_info->length, pci_driection);
} }
if (buffer_info->skb) if (buffer_info->skb)
dev_consume_skb_any(buffer_info->skb); dev_consume_skb_any(buffer_info->skb);
...@@ -933,9 +933,8 @@ static void atl1c_free_ring_resources(struct atl1c_adapter *adapter) ...@@ -933,9 +933,8 @@ static void atl1c_free_ring_resources(struct atl1c_adapter *adapter)
{ {
struct pci_dev *pdev = adapter->pdev; struct pci_dev *pdev = adapter->pdev;
pci_free_consistent(pdev, adapter->ring_header.size, dma_free_coherent(&pdev->dev, adapter->ring_header.size,
adapter->ring_header.desc, adapter->ring_header.desc, adapter->ring_header.dma);
adapter->ring_header.dma);
adapter->ring_header.desc = NULL; adapter->ring_header.desc = NULL;
/* Note: just free tdp_ring.buffer_info, /* Note: just free tdp_ring.buffer_info,
...@@ -1717,10 +1716,9 @@ static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter) ...@@ -1717,10 +1716,9 @@ static int atl1c_alloc_rx_buffer(struct atl1c_adapter *adapter)
ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY);
buffer_info->skb = skb; buffer_info->skb = skb;
buffer_info->length = adapter->rx_buffer_len; buffer_info->length = adapter->rx_buffer_len;
mapping = pci_map_single(pdev, vir_addr, mapping = dma_map_single(&pdev->dev, vir_addr,
buffer_info->length, buffer_info->length, DMA_FROM_DEVICE);
PCI_DMA_FROMDEVICE); if (unlikely(dma_mapping_error(&pdev->dev, mapping))) {
if (unlikely(pci_dma_mapping_error(pdev, mapping))) {
dev_kfree_skb(skb); dev_kfree_skb(skb);
buffer_info->skb = NULL; buffer_info->skb = NULL;
buffer_info->length = 0; buffer_info->length = 0;
...@@ -1831,8 +1829,8 @@ static void atl1c_clean_rx_irq(struct atl1c_adapter *adapter, ...@@ -1831,8 +1829,8 @@ static void atl1c_clean_rx_irq(struct atl1c_adapter *adapter,
rfd_index = (rrs->word0 >> RRS_RX_RFD_INDEX_SHIFT) & rfd_index = (rrs->word0 >> RRS_RX_RFD_INDEX_SHIFT) &
RRS_RX_RFD_INDEX_MASK; RRS_RX_RFD_INDEX_MASK;
buffer_info = &rfd_ring->buffer_info[rfd_index]; buffer_info = &rfd_ring->buffer_info[rfd_index];
pci_unmap_single(pdev, buffer_info->dma, dma_unmap_single(&pdev->dev, buffer_info->dma,
buffer_info->length, PCI_DMA_FROMDEVICE); buffer_info->length, DMA_FROM_DEVICE);
skb = buffer_info->skb; skb = buffer_info->skb;
} else { } else {
/* TODO */ /* TODO */
...@@ -2106,10 +2104,10 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter, ...@@ -2106,10 +2104,10 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter,
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
buffer_info->length = map_len; buffer_info->length = map_len;
buffer_info->dma = pci_map_single(adapter->pdev, buffer_info->dma = dma_map_single(&adapter->pdev->dev,
skb->data, hdr_len, PCI_DMA_TODEVICE); skb->data, hdr_len,
if (unlikely(pci_dma_mapping_error(adapter->pdev, DMA_TO_DEVICE);
buffer_info->dma))) if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)))
goto err_dma; goto err_dma;
ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY);
ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE, ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_SINGLE,
...@@ -2131,10 +2129,10 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter, ...@@ -2131,10 +2129,10 @@ static int atl1c_tx_map(struct atl1c_adapter *adapter,
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd); buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
buffer_info->length = buf_len - mapped_len; buffer_info->length = buf_len - mapped_len;
buffer_info->dma = buffer_info->dma =
pci_map_single(adapter->pdev, skb->data + mapped_len, dma_map_single(&adapter->pdev->dev,
buffer_info->length, PCI_DMA_TODEVICE); skb->data + mapped_len,
if (unlikely(pci_dma_mapping_error(adapter->pdev, buffer_info->length, DMA_TO_DEVICE);
buffer_info->dma))) if (unlikely(dma_mapping_error(&adapter->pdev->dev, buffer_info->dma)))
goto err_dma; goto err_dma;
ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY); ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY);
...@@ -2542,8 +2540,8 @@ static int atl1c_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2542,8 +2540,8 @@ static int atl1c_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* various kernel subsystems to support the mechanics required by a * various kernel subsystems to support the mechanics required by a
* fixed-high-32-bit system. * fixed-high-32-bit system.
*/ */
if ((pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0) || if ((dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)) != 0) ||
(pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)) != 0)) { (dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)) != 0)) {
dev_err(&pdev->dev, "No usable DMA configuration,aborting\n"); dev_err(&pdev->dev, "No usable DMA configuration,aborting\n");
goto err_dma; goto err_dma;
} }
......
...@@ -654,11 +654,13 @@ static void atl1e_clean_tx_ring(struct atl1e_adapter *adapter) ...@@ -654,11 +654,13 @@ static void atl1e_clean_tx_ring(struct atl1e_adapter *adapter)
tx_buffer = &tx_ring->tx_buffer[index]; tx_buffer = &tx_ring->tx_buffer[index];
if (tx_buffer->dma) { if (tx_buffer->dma) {
if (tx_buffer->flags & ATL1E_TX_PCIMAP_SINGLE) if (tx_buffer->flags & ATL1E_TX_PCIMAP_SINGLE)
pci_unmap_single(pdev, tx_buffer->dma, dma_unmap_single(&pdev->dev, tx_buffer->dma,
tx_buffer->length, PCI_DMA_TODEVICE); tx_buffer->length,
DMA_TO_DEVICE);
else if (tx_buffer->flags & ATL1E_TX_PCIMAP_PAGE) else if (tx_buffer->flags & ATL1E_TX_PCIMAP_PAGE)
pci_unmap_page(pdev, tx_buffer->dma, dma_unmap_page(&pdev->dev, tx_buffer->dma,
tx_buffer->length, PCI_DMA_TODEVICE); tx_buffer->length,
DMA_TO_DEVICE);
tx_buffer->dma = 0; tx_buffer->dma = 0;
} }
} }
...@@ -774,8 +776,8 @@ static void atl1e_free_ring_resources(struct atl1e_adapter *adapter) ...@@ -774,8 +776,8 @@ static void atl1e_free_ring_resources(struct atl1e_adapter *adapter)
atl1e_clean_rx_ring(adapter); atl1e_clean_rx_ring(adapter);
if (adapter->ring_vir_addr) { if (adapter->ring_vir_addr) {
pci_free_consistent(pdev, adapter->ring_size, dma_free_coherent(&pdev->dev, adapter->ring_size,
adapter->ring_vir_addr, adapter->ring_dma); adapter->ring_vir_addr, adapter->ring_dma);
adapter->ring_vir_addr = NULL; adapter->ring_vir_addr = NULL;
} }
...@@ -810,11 +812,12 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter) ...@@ -810,11 +812,12 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
/* real ring DMA buffer */ /* real ring DMA buffer */
size = adapter->ring_size; size = adapter->ring_size;
adapter->ring_vir_addr = pci_zalloc_consistent(pdev, adapter->ring_size, adapter->ring_vir_addr = dma_alloc_coherent(&pdev->dev,
&adapter->ring_dma); adapter->ring_size,
&adapter->ring_dma, GFP_KERNEL);
if (adapter->ring_vir_addr == NULL) { if (adapter->ring_vir_addr == NULL) {
netdev_err(adapter->netdev, netdev_err(adapter->netdev,
"pci_alloc_consistent failed, size = D%d\n", size); "dma_alloc_coherent failed, size = D%d\n", size);
return -ENOMEM; return -ENOMEM;
} }
...@@ -870,8 +873,8 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter) ...@@ -870,8 +873,8 @@ static int atl1e_setup_ring_resources(struct atl1e_adapter *adapter)
return 0; return 0;
failed: failed:
if (adapter->ring_vir_addr != NULL) { if (adapter->ring_vir_addr != NULL) {
pci_free_consistent(pdev, adapter->ring_size, dma_free_coherent(&pdev->dev, adapter->ring_size,
adapter->ring_vir_addr, adapter->ring_dma); adapter->ring_vir_addr, adapter->ring_dma);
adapter->ring_vir_addr = NULL; adapter->ring_vir_addr = NULL;
} }
return err; return err;
...@@ -1233,11 +1236,15 @@ static bool atl1e_clean_tx_irq(struct atl1e_adapter *adapter) ...@@ -1233,11 +1236,15 @@ static bool atl1e_clean_tx_irq(struct atl1e_adapter *adapter)
tx_buffer = &tx_ring->tx_buffer[next_to_clean]; tx_buffer = &tx_ring->tx_buffer[next_to_clean];
if (tx_buffer->dma) { if (tx_buffer->dma) {
if (tx_buffer->flags & ATL1E_TX_PCIMAP_SINGLE) if (tx_buffer->flags & ATL1E_TX_PCIMAP_SINGLE)
pci_unmap_single(adapter->pdev, tx_buffer->dma, dma_unmap_single(&adapter->pdev->dev,
tx_buffer->length, PCI_DMA_TODEVICE); tx_buffer->dma,
tx_buffer->length,
DMA_TO_DEVICE);
else if (tx_buffer->flags & ATL1E_TX_PCIMAP_PAGE) else if (tx_buffer->flags & ATL1E_TX_PCIMAP_PAGE)
pci_unmap_page(adapter->pdev, tx_buffer->dma, dma_unmap_page(&adapter->pdev->dev,
tx_buffer->length, PCI_DMA_TODEVICE); tx_buffer->dma,
tx_buffer->length,
DMA_TO_DEVICE);
tx_buffer->dma = 0; tx_buffer->dma = 0;
} }
...@@ -1710,8 +1717,9 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter, ...@@ -1710,8 +1717,9 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter,
tx_buffer = atl1e_get_tx_buffer(adapter, use_tpd); tx_buffer = atl1e_get_tx_buffer(adapter, use_tpd);
tx_buffer->length = map_len; tx_buffer->length = map_len;
tx_buffer->dma = pci_map_single(adapter->pdev, tx_buffer->dma = dma_map_single(&adapter->pdev->dev,
skb->data, hdr_len, PCI_DMA_TODEVICE); skb->data, hdr_len,
DMA_TO_DEVICE);
if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma))
return -ENOSPC; return -ENOSPC;
...@@ -1739,8 +1747,9 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter, ...@@ -1739,8 +1747,9 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter,
((buf_len - mapped_len) >= MAX_TX_BUF_LEN) ? ((buf_len - mapped_len) >= MAX_TX_BUF_LEN) ?
MAX_TX_BUF_LEN : (buf_len - mapped_len); MAX_TX_BUF_LEN : (buf_len - mapped_len);
tx_buffer->dma = tx_buffer->dma =
pci_map_single(adapter->pdev, skb->data + mapped_len, dma_map_single(&adapter->pdev->dev,
map_len, PCI_DMA_TODEVICE); skb->data + mapped_len, map_len,
DMA_TO_DEVICE);
if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) { if (dma_mapping_error(&adapter->pdev->dev, tx_buffer->dma)) {
/* We need to unwind the mappings we've done */ /* We need to unwind the mappings we've done */
...@@ -1749,8 +1758,10 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter, ...@@ -1749,8 +1758,10 @@ static int atl1e_tx_map(struct atl1e_adapter *adapter,
while (adapter->tx_ring.next_to_use != ring_end) { while (adapter->tx_ring.next_to_use != ring_end) {
tpd = atl1e_get_tpd(adapter); tpd = atl1e_get_tpd(adapter);
tx_buffer = atl1e_get_tx_buffer(adapter, tpd); tx_buffer = atl1e_get_tx_buffer(adapter, tpd);
pci_unmap_single(adapter->pdev, tx_buffer->dma, dma_unmap_single(&adapter->pdev->dev,
tx_buffer->length, PCI_DMA_TODEVICE); tx_buffer->dma,
tx_buffer->length,
DMA_TO_DEVICE);
} }
/* Reset the tx rings next pointer */ /* Reset the tx rings next pointer */
adapter->tx_ring.next_to_use = ring_start; adapter->tx_ring.next_to_use = ring_start;
...@@ -2300,8 +2311,8 @@ static int atl1e_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2300,8 +2311,8 @@ static int atl1e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* various kernel subsystems to support the mechanics required by a * various kernel subsystems to support the mechanics required by a
* fixed-high-32-bit system. * fixed-high-32-bit system.
*/ */
if ((pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0) || if ((dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)) != 0) ||
(pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)) != 0)) { (dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)) != 0)) {
dev_err(&pdev->dev, "No usable DMA configuration,aborting\n"); dev_err(&pdev->dev, "No usable DMA configuration,aborting\n");
goto err_dma; goto err_dma;
} }
......
...@@ -1050,11 +1050,11 @@ static s32 atl1_setup_ring_resources(struct atl1_adapter *adapter) ...@@ -1050,11 +1050,11 @@ static s32 atl1_setup_ring_resources(struct atl1_adapter *adapter)
+ sizeof(struct stats_msg_block) + sizeof(struct stats_msg_block)
+ 40; + 40;
ring_header->desc = pci_alloc_consistent(pdev, ring_header->size, ring_header->desc = dma_alloc_coherent(&pdev->dev, ring_header->size,
&ring_header->dma); &ring_header->dma, GFP_KERNEL);
if (unlikely(!ring_header->desc)) { if (unlikely(!ring_header->desc)) {
if (netif_msg_drv(adapter)) if (netif_msg_drv(adapter))
dev_err(&pdev->dev, "pci_alloc_consistent failed\n"); dev_err(&pdev->dev, "dma_alloc_coherent failed\n");
goto err_nomem; goto err_nomem;
} }
...@@ -1136,8 +1136,8 @@ static void atl1_clean_rx_ring(struct atl1_adapter *adapter) ...@@ -1136,8 +1136,8 @@ static void atl1_clean_rx_ring(struct atl1_adapter *adapter)
for (i = 0; i < rfd_ring->count; i++) { for (i = 0; i < rfd_ring->count; i++) {
buffer_info = &rfd_ring->buffer_info[i]; buffer_info = &rfd_ring->buffer_info[i];
if (buffer_info->dma) { if (buffer_info->dma) {
pci_unmap_page(pdev, buffer_info->dma, dma_unmap_page(&pdev->dev, buffer_info->dma,
buffer_info->length, PCI_DMA_FROMDEVICE); buffer_info->length, DMA_FROM_DEVICE);
buffer_info->dma = 0; buffer_info->dma = 0;
} }
if (buffer_info->skb) { if (buffer_info->skb) {
...@@ -1175,8 +1175,8 @@ static void atl1_clean_tx_ring(struct atl1_adapter *adapter) ...@@ -1175,8 +1175,8 @@ static void atl1_clean_tx_ring(struct atl1_adapter *adapter)
for (i = 0; i < tpd_ring->count; i++) { for (i = 0; i < tpd_ring->count; i++) {
buffer_info = &tpd_ring->buffer_info[i]; buffer_info = &tpd_ring->buffer_info[i];
if (buffer_info->dma) { if (buffer_info->dma) {
pci_unmap_page(pdev, buffer_info->dma, dma_unmap_page(&pdev->dev, buffer_info->dma,
buffer_info->length, PCI_DMA_TODEVICE); buffer_info->length, DMA_TO_DEVICE);
buffer_info->dma = 0; buffer_info->dma = 0;
} }
} }
...@@ -1217,8 +1217,8 @@ static void atl1_free_ring_resources(struct atl1_adapter *adapter) ...@@ -1217,8 +1217,8 @@ static void atl1_free_ring_resources(struct atl1_adapter *adapter)
atl1_clean_rx_ring(adapter); atl1_clean_rx_ring(adapter);
kfree(tpd_ring->buffer_info); kfree(tpd_ring->buffer_info);
pci_free_consistent(pdev, ring_header->size, ring_header->desc, dma_free_coherent(&pdev->dev, ring_header->size, ring_header->desc,
ring_header->dma); ring_header->dma);
tpd_ring->buffer_info = NULL; tpd_ring->buffer_info = NULL;
tpd_ring->desc = NULL; tpd_ring->desc = NULL;
...@@ -1866,9 +1866,9 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter) ...@@ -1866,9 +1866,9 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
buffer_info->length = (u16) adapter->rx_buffer_len; buffer_info->length = (u16) adapter->rx_buffer_len;
page = virt_to_page(skb->data); page = virt_to_page(skb->data);
offset = offset_in_page(skb->data); offset = offset_in_page(skb->data);
buffer_info->dma = pci_map_page(pdev, page, offset, buffer_info->dma = dma_map_page(&pdev->dev, page, offset,
adapter->rx_buffer_len, adapter->rx_buffer_len,
PCI_DMA_FROMDEVICE); DMA_FROM_DEVICE);
rfd_desc->buffer_addr = cpu_to_le64(buffer_info->dma); rfd_desc->buffer_addr = cpu_to_le64(buffer_info->dma);
rfd_desc->buf_len = cpu_to_le16(adapter->rx_buffer_len); rfd_desc->buf_len = cpu_to_le16(adapter->rx_buffer_len);
rfd_desc->coalese = 0; rfd_desc->coalese = 0;
...@@ -1992,8 +1992,8 @@ static int atl1_intr_rx(struct atl1_adapter *adapter, int budget) ...@@ -1992,8 +1992,8 @@ static int atl1_intr_rx(struct atl1_adapter *adapter, int budget)
} }
/* Good Receive */ /* Good Receive */
pci_unmap_page(adapter->pdev, buffer_info->dma, dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
buffer_info->length, PCI_DMA_FROMDEVICE); buffer_info->length, DMA_FROM_DEVICE);
buffer_info->dma = 0; buffer_info->dma = 0;
skb = buffer_info->skb; skb = buffer_info->skb;
length = le16_to_cpu(rrd->xsz.xsum_sz.pkt_size); length = le16_to_cpu(rrd->xsz.xsum_sz.pkt_size);
...@@ -2062,8 +2062,8 @@ static int atl1_intr_tx(struct atl1_adapter *adapter) ...@@ -2062,8 +2062,8 @@ static int atl1_intr_tx(struct atl1_adapter *adapter)
while (cmb_tpd_next_to_clean != sw_tpd_next_to_clean) { while (cmb_tpd_next_to_clean != sw_tpd_next_to_clean) {
buffer_info = &tpd_ring->buffer_info[sw_tpd_next_to_clean]; buffer_info = &tpd_ring->buffer_info[sw_tpd_next_to_clean];
if (buffer_info->dma) { if (buffer_info->dma) {
pci_unmap_page(adapter->pdev, buffer_info->dma, dma_unmap_page(&adapter->pdev->dev, buffer_info->dma,
buffer_info->length, PCI_DMA_TODEVICE); buffer_info->length, DMA_TO_DEVICE);
buffer_info->dma = 0; buffer_info->dma = 0;
} }
...@@ -2210,9 +2210,9 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb, ...@@ -2210,9 +2210,9 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
buffer_info->length = hdr_len; buffer_info->length = hdr_len;
page = virt_to_page(skb->data); page = virt_to_page(skb->data);
offset = offset_in_page(skb->data); offset = offset_in_page(skb->data);
buffer_info->dma = pci_map_page(adapter->pdev, page, buffer_info->dma = dma_map_page(&adapter->pdev->dev, page,
offset, hdr_len, offset, hdr_len,
PCI_DMA_TODEVICE); DMA_TO_DEVICE);
if (++next_to_use == tpd_ring->count) if (++next_to_use == tpd_ring->count)
next_to_use = 0; next_to_use = 0;
...@@ -2235,9 +2235,10 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb, ...@@ -2235,9 +2235,10 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
(hdr_len + i * ATL1_MAX_TX_BUF_LEN)); (hdr_len + i * ATL1_MAX_TX_BUF_LEN));
offset = offset_in_page(skb->data + offset = offset_in_page(skb->data +
(hdr_len + i * ATL1_MAX_TX_BUF_LEN)); (hdr_len + i * ATL1_MAX_TX_BUF_LEN));
buffer_info->dma = pci_map_page(adapter->pdev, buffer_info->dma = dma_map_page(&adapter->pdev->dev,
page, offset, buffer_info->length, page, offset,
PCI_DMA_TODEVICE); buffer_info->length,
DMA_TO_DEVICE);
if (++next_to_use == tpd_ring->count) if (++next_to_use == tpd_ring->count)
next_to_use = 0; next_to_use = 0;
} }
...@@ -2247,8 +2248,9 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb, ...@@ -2247,8 +2248,9 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
buffer_info->length = buf_len; buffer_info->length = buf_len;
page = virt_to_page(skb->data); page = virt_to_page(skb->data);
offset = offset_in_page(skb->data); offset = offset_in_page(skb->data);
buffer_info->dma = pci_map_page(adapter->pdev, page, buffer_info->dma = dma_map_page(&adapter->pdev->dev, page,
offset, buf_len, PCI_DMA_TODEVICE); offset, buf_len,
DMA_TO_DEVICE);
if (++next_to_use == tpd_ring->count) if (++next_to_use == tpd_ring->count)
next_to_use = 0; next_to_use = 0;
} }
...@@ -2922,7 +2924,7 @@ static int atl1_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -2922,7 +2924,7 @@ static int atl1_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* various kernel subsystems to support the mechanics required by a * various kernel subsystems to support the mechanics required by a
* fixed-high-32-bit system. * fixed-high-32-bit system.
*/ */
err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
if (err) { if (err) {
dev_err(&pdev->dev, "no usable DMA configuration\n"); dev_err(&pdev->dev, "no usable DMA configuration\n");
goto err_dma; goto err_dma;
......
...@@ -281,8 +281,8 @@ static s32 atl2_setup_ring_resources(struct atl2_adapter *adapter) ...@@ -281,8 +281,8 @@ static s32 atl2_setup_ring_resources(struct atl2_adapter *adapter)
adapter->txs_ring_size * 4 + 7 + /* dword align */ adapter->txs_ring_size * 4 + 7 + /* dword align */
adapter->rxd_ring_size * 1536 + 127; /* 128bytes align */ adapter->rxd_ring_size * 1536 + 127; /* 128bytes align */
adapter->ring_vir_addr = pci_alloc_consistent(pdev, size, adapter->ring_vir_addr = dma_alloc_coherent(&pdev->dev, size,
&adapter->ring_dma); &adapter->ring_dma, GFP_KERNEL);
if (!adapter->ring_vir_addr) if (!adapter->ring_vir_addr)
return -ENOMEM; return -ENOMEM;
...@@ -663,8 +663,8 @@ static int atl2_request_irq(struct atl2_adapter *adapter) ...@@ -663,8 +663,8 @@ static int atl2_request_irq(struct atl2_adapter *adapter)
static void atl2_free_ring_resources(struct atl2_adapter *adapter) static void atl2_free_ring_resources(struct atl2_adapter *adapter)
{ {
struct pci_dev *pdev = adapter->pdev; struct pci_dev *pdev = adapter->pdev;
pci_free_consistent(pdev, adapter->ring_size, adapter->ring_vir_addr, dma_free_coherent(&pdev->dev, adapter->ring_size,
adapter->ring_dma); adapter->ring_vir_addr, adapter->ring_dma);
} }
/** /**
...@@ -1328,8 +1328,8 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1328,8 +1328,8 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
* until the kernel has the proper infrastructure to support 64-bit DMA * until the kernel has the proper infrastructure to support 64-bit DMA
* on these devices. * on these devices.
*/ */
if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) && if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)) &&
pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) { dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32))) {
printk(KERN_ERR "atl2: No usable DMA configuration, aborting\n"); printk(KERN_ERR "atl2: No usable DMA configuration, aborting\n");
err = -EIO; err = -EIO;
goto err_dma; goto err_dma;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment