Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NTB: 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 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 <christophe.jaillet@wanadoo.fr>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>

authored by

Christophe JAILLET and committed by
Jon Mason
38de3aff e6315480

+6 -33
+2 -10
drivers/ntb/hw/amd/ntb_hw_amd.c
··· 1176 1176 1177 1177 pci_set_master(pdev); 1178 1178 1179 - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); 1179 + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); 1180 1180 if (rc) { 1181 - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); 1181 + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); 1182 1182 if (rc) 1183 1183 goto err_dma_mask; 1184 1184 dev_warn(&pdev->dev, "Cannot DMA highmem\n"); 1185 - } 1186 - 1187 - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); 1188 - if (rc) { 1189 - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); 1190 - if (rc) 1191 - goto err_dma_mask; 1192 - dev_warn(&pdev->dev, "Cannot DMA consistent highmem\n"); 1193 1185 } 1194 1186 1195 1187 ndev->self_mmio = pci_iomap(pdev, 0, 0);
+2 -13
drivers/ntb/hw/idt/ntb_hw_idt.c
··· 2640 2640 int ret; 2641 2641 2642 2642 /* Initialize the bit mask of PCI/NTB DMA */ 2643 - ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); 2643 + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); 2644 2644 if (ret != 0) { 2645 - ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); 2645 + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); 2646 2646 if (ret != 0) { 2647 2647 dev_err(&pdev->dev, "Failed to set DMA bit mask\n"); 2648 2648 return ret; 2649 2649 } 2650 2650 dev_warn(&pdev->dev, "Cannot set DMA highmem bit mask\n"); 2651 - } 2652 - ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); 2653 - if (ret != 0) { 2654 - ret = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); 2655 - if (ret != 0) { 2656 - dev_err(&pdev->dev, 2657 - "Failed to set consistent DMA bit mask\n"); 2658 - return ret; 2659 - } 2660 - dev_warn(&pdev->dev, 2661 - "Cannot set consistent DMA highmem bit mask\n"); 2662 2651 } 2663 2652 2664 2653 /*
+2 -10
drivers/ntb/hw/intel/ntb_hw_gen1.c
··· 1771 1771 1772 1772 pci_set_master(pdev); 1773 1773 1774 - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); 1774 + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); 1775 1775 if (rc) { 1776 - rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); 1776 + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); 1777 1777 if (rc) 1778 1778 goto err_dma_mask; 1779 1779 dev_warn(&pdev->dev, "Cannot DMA highmem\n"); 1780 - } 1781 - 1782 - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); 1783 - if (rc) { 1784 - rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); 1785 - if (rc) 1786 - goto err_dma_mask; 1787 - dev_warn(&pdev->dev, "Cannot DMA consistent highmem\n"); 1788 1780 } 1789 1781 1790 1782 ndev->self_mmio = pci_iomap(pdev, 0, 0);