Skip to content

Commit a14e390

Browse files
tititiou36davem330
authored andcommitted
qlcnic: 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. It has been hand modified to use 'dma_set_mask_and_coherent()' instead of 'pci_set_dma_mask()/pci_set_consistent_dma_mask()' when applicable. This is less verbose. It has been compile tested. @@ @@ - 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: Christophe JAILLET <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent eb9c5c0 commit a14e390

File tree

3 files changed

+25
-29
lines changed

3 files changed

+25
-29
lines changed

drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,8 @@ void qlcnic_release_rx_buffers(struct qlcnic_adapter *adapter)
9494
if (rx_buf->skb == NULL)
9595
continue;
9696

97-
pci_unmap_single(adapter->pdev,
98-
rx_buf->dma,
99-
rds_ring->dma_size,
100-
PCI_DMA_FROMDEVICE);
97+
dma_unmap_single(&adapter->pdev->dev, rx_buf->dma,
98+
rds_ring->dma_size, DMA_FROM_DEVICE);
10199

102100
dev_kfree_skb_any(rx_buf->skb);
103101
}
@@ -139,16 +137,16 @@ void qlcnic_release_tx_buffers(struct qlcnic_adapter *adapter,
139137
for (i = 0; i < tx_ring->num_desc; i++) {
140138
buffrag = cmd_buf->frag_array;
141139
if (buffrag->dma) {
142-
pci_unmap_single(adapter->pdev, buffrag->dma,
143-
buffrag->length, PCI_DMA_TODEVICE);
140+
dma_unmap_single(&adapter->pdev->dev, buffrag->dma,
141+
buffrag->length, DMA_TO_DEVICE);
144142
buffrag->dma = 0ULL;
145143
}
146144
for (j = 1; j < cmd_buf->frag_count; j++) {
147145
buffrag++;
148146
if (buffrag->dma) {
149-
pci_unmap_page(adapter->pdev, buffrag->dma,
150-
buffrag->length,
151-
PCI_DMA_TODEVICE);
147+
dma_unmap_page(&adapter->pdev->dev,
148+
buffrag->dma, buffrag->length,
149+
DMA_TO_DEVICE);
152150
buffrag->dma = 0ULL;
153151
}
154152
}

drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -587,9 +587,9 @@ static int qlcnic_map_tx_skb(struct pci_dev *pdev, struct sk_buff *skb,
587587
nr_frags = skb_shinfo(skb)->nr_frags;
588588
nf = &pbuf->frag_array[0];
589589

590-
map = pci_map_single(pdev, skb->data, skb_headlen(skb),
591-
PCI_DMA_TODEVICE);
592-
if (pci_dma_mapping_error(pdev, map))
590+
map = dma_map_single(&pdev->dev, skb->data, skb_headlen(skb),
591+
DMA_TO_DEVICE);
592+
if (dma_mapping_error(&pdev->dev, map))
593593
goto out_err;
594594

595595
nf->dma = map;
@@ -612,11 +612,11 @@ static int qlcnic_map_tx_skb(struct pci_dev *pdev, struct sk_buff *skb,
612612
unwind:
613613
while (--i >= 0) {
614614
nf = &pbuf->frag_array[i+1];
615-
pci_unmap_page(pdev, nf->dma, nf->length, PCI_DMA_TODEVICE);
615+
dma_unmap_page(&pdev->dev, nf->dma, nf->length, DMA_TO_DEVICE);
616616
}
617617

618618
nf = &pbuf->frag_array[0];
619-
pci_unmap_single(pdev, nf->dma, skb_headlen(skb), PCI_DMA_TODEVICE);
619+
dma_unmap_single(&pdev->dev, nf->dma, skb_headlen(skb), DMA_TO_DEVICE);
620620

621621
out_err:
622622
return -ENOMEM;
@@ -630,11 +630,11 @@ static void qlcnic_unmap_buffers(struct pci_dev *pdev, struct sk_buff *skb,
630630

631631
for (i = 0; i < nr_frags; i++) {
632632
nf = &pbuf->frag_array[i+1];
633-
pci_unmap_page(pdev, nf->dma, nf->length, PCI_DMA_TODEVICE);
633+
dma_unmap_page(&pdev->dev, nf->dma, nf->length, DMA_TO_DEVICE);
634634
}
635635

636636
nf = &pbuf->frag_array[0];
637-
pci_unmap_single(pdev, nf->dma, skb_headlen(skb), PCI_DMA_TODEVICE);
637+
dma_unmap_single(&pdev->dev, nf->dma, skb_headlen(skb), DMA_TO_DEVICE);
638638
pbuf->skb = NULL;
639639
}
640640

@@ -825,10 +825,10 @@ static int qlcnic_alloc_rx_skb(struct qlcnic_adapter *adapter,
825825
}
826826

827827
skb_reserve(skb, NET_IP_ALIGN);
828-
dma = pci_map_single(pdev, skb->data,
829-
rds_ring->dma_size, PCI_DMA_FROMDEVICE);
828+
dma = dma_map_single(&pdev->dev, skb->data, rds_ring->dma_size,
829+
DMA_FROM_DEVICE);
830830

831-
if (pci_dma_mapping_error(pdev, dma)) {
831+
if (dma_mapping_error(&pdev->dev, dma)) {
832832
adapter->stats.rx_dma_map_error++;
833833
dev_kfree_skb_any(skb);
834834
return -ENOMEM;
@@ -903,13 +903,13 @@ static int qlcnic_process_cmd_ring(struct qlcnic_adapter *adapter,
903903
buffer = &tx_ring->cmd_buf_arr[sw_consumer];
904904
if (buffer->skb) {
905905
frag = &buffer->frag_array[0];
906-
pci_unmap_single(pdev, frag->dma, frag->length,
907-
PCI_DMA_TODEVICE);
906+
dma_unmap_single(&pdev->dev, frag->dma, frag->length,
907+
DMA_TO_DEVICE);
908908
frag->dma = 0ULL;
909909
for (i = 1; i < buffer->frag_count; i++) {
910910
frag++;
911-
pci_unmap_page(pdev, frag->dma, frag->length,
912-
PCI_DMA_TODEVICE);
911+
dma_unmap_page(&pdev->dev, frag->dma,
912+
frag->length, DMA_TO_DEVICE);
913913
frag->dma = 0ULL;
914914
}
915915
tx_ring->tx_stats.xmit_finished++;
@@ -1147,8 +1147,8 @@ static struct sk_buff *qlcnic_process_rxbuf(struct qlcnic_adapter *adapter,
11471147
return NULL;
11481148
}
11491149

1150-
pci_unmap_single(adapter->pdev, buffer->dma, ring->dma_size,
1151-
PCI_DMA_FROMDEVICE);
1150+
dma_unmap_single(&adapter->pdev->dev, buffer->dma, ring->dma_size,
1151+
DMA_FROM_DEVICE);
11521152

11531153
skb = buffer->skb;
11541154
if (likely((adapter->netdev->features & NETIF_F_RXCSUM) &&

drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2343,11 +2343,9 @@ qlcnic_setup_netdev(struct qlcnic_adapter *adapter, struct net_device *netdev,
23432343

23442344
static int qlcnic_set_dma_mask(struct pci_dev *pdev, int *pci_using_dac)
23452345
{
2346-
if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
2347-
!pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)))
2346+
if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)))
23482347
*pci_using_dac = 1;
2349-
else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) &&
2350-
!pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)))
2348+
else if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)))
23512349
*pci_using_dac = 0;
23522350
else {
23532351
dev_err(&pdev->dev, "Unable to set DMA mask, aborting\n");

0 commit comments

Comments
 (0)