Switch from the legacy PCI DMA API to the generic DMA API.

Signed-off-by: Christoph Hellwig <h...@lst.de>
Reviewed-by: Johannes Thumshirn <jthumsh...@suse.de>
---
 drivers/scsi/megaraid/megaraid_mbox.c | 51 +++++++++++++--------------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_mbox.c 
b/drivers/scsi/megaraid/megaraid_mbox.c
index 89c85a5a47af..fbae1d88a29b 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -457,10 +457,9 @@ megaraid_probe_one(struct pci_dev *pdev, const struct 
pci_device_id *id)
 
        // Setup the default DMA mask. This would be changed later on
        // depending on hardware capabilities
-       if (pci_set_dma_mask(adapter->pdev, DMA_BIT_MASK(32)) != 0) {
-
+       if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(32))) {
                con_log(CL_ANN, (KERN_WARNING
-                       "megaraid: pci_set_dma_mask failed:%d\n", __LINE__));
+                       "megaraid: dma_set_mask failed:%d\n", __LINE__));
 
                goto out_free_adapter;
        }
@@ -878,11 +877,12 @@ megaraid_init_mbox(adapter_t *adapter)
                adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) ||
                (adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
                adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {
-               if (pci_set_dma_mask(adapter->pdev, DMA_BIT_MASK(64))) {
+               if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(64))) {
                        con_log(CL_ANN, (KERN_WARNING
                                "megaraid: DMA mask for 64-bit failed\n"));
 
-                       if (pci_set_dma_mask (adapter->pdev, DMA_BIT_MASK(32))) 
{
+                       if (dma_set_mask(&adapter->pdev->dev,
+                                               DMA_BIT_MASK(32))) {
                                con_log(CL_ANN, (KERN_WARNING
                                        "megaraid: 32-bit DMA mask failed\n"));
                                goto out_free_sysfs_res;
@@ -975,9 +975,9 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
         * Allocate the common 16-byte aligned memory for the handshake
         * mailbox.
         */
-       raid_dev->una_mbox64 = pci_zalloc_consistent(adapter->pdev,
-                                                    sizeof(mbox64_t),
-                                                    &raid_dev->una_mbox64_dma);
+       raid_dev->una_mbox64 = dma_zalloc_coherent(&adapter->pdev->dev,
+                       sizeof(mbox64_t), &raid_dev->una_mbox64_dma,
+                       GFP_KERNEL);
 
        if (!raid_dev->una_mbox64) {
                con_log(CL_ANN, (KERN_WARNING
@@ -1003,8 +1003,8 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
                        align;
 
        // Allocate memory for commands issued internally
-       adapter->ibuf = pci_zalloc_consistent(pdev, MBOX_IBUF_SIZE,
-                                             &adapter->ibuf_dma_h);
+       adapter->ibuf = dma_zalloc_coherent(&pdev->dev, MBOX_IBUF_SIZE,
+                       &adapter->ibuf_dma_h, GFP_KERNEL);
        if (!adapter->ibuf) {
 
                con_log(CL_ANN, (KERN_WARNING
@@ -1082,7 +1082,7 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
 
                scb->scp                = NULL;
                scb->state              = SCB_FREE;
-               scb->dma_direction      = PCI_DMA_NONE;
+               scb->dma_direction      = DMA_NONE;
                scb->dma_type           = MRAID_DMA_NONE;
                scb->dev_channel        = -1;
                scb->dev_target         = -1;
@@ -1098,10 +1098,10 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
 out_free_scb_list:
        kfree(adapter->kscb_list);
 out_free_ibuf:
-       pci_free_consistent(pdev, MBOX_IBUF_SIZE, (void *)adapter->ibuf,
+       dma_free_coherent(&pdev->dev, MBOX_IBUF_SIZE, (void *)adapter->ibuf,
                adapter->ibuf_dma_h);
 out_free_common_mbox:
-       pci_free_consistent(adapter->pdev, sizeof(mbox64_t),
+       dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t),
                (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma);
 
        return -1;
@@ -1123,10 +1123,10 @@ megaraid_free_cmd_packets(adapter_t *adapter)
 
        kfree(adapter->kscb_list);
 
-       pci_free_consistent(adapter->pdev, MBOX_IBUF_SIZE,
+       dma_free_coherent(&adapter->pdev->dev, MBOX_IBUF_SIZE,
                (void *)adapter->ibuf, adapter->ibuf_dma_h);
 
-       pci_free_consistent(adapter->pdev, sizeof(mbox64_t),
+       dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t),
                (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma);
        return;
 }
@@ -2915,9 +2915,8 @@ megaraid_mbox_product_info(adapter_t *adapter)
         * Issue an ENQUIRY3 command to find out certain adapter parameters,
         * e.g., max channels, max commands etc.
         */
-       pinfo = pci_zalloc_consistent(adapter->pdev, sizeof(mraid_pinfo_t),
-                                     &pinfo_dma_h);
-
+       pinfo = dma_zalloc_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
+                       &pinfo_dma_h, GFP_KERNEL);
        if (pinfo == NULL) {
                con_log(CL_ANN, (KERN_WARNING
                        "megaraid: out of memory, %s %d\n", __func__,
@@ -2938,7 +2937,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
 
                con_log(CL_ANN, (KERN_WARNING "megaraid: Inquiry3 failed\n"));
 
-               pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t),
+               dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
                        pinfo, pinfo_dma_h);
 
                return -1;
@@ -2969,7 +2968,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
                con_log(CL_ANN, (KERN_WARNING
                        "megaraid: product info failed\n"));
 
-               pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t),
+               dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
                        pinfo, pinfo_dma_h);
 
                return -1;
@@ -3005,7 +3004,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
                "megaraid: fw version:[%s] bios version:[%s]\n",
                adapter->fw_version, adapter->bios_version));
 
-       pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t), pinfo,
+       dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), pinfo,
                        pinfo_dma_h);
 
        return 0;
@@ -3482,7 +3481,7 @@ megaraid_cmm_register(adapter_t *adapter)
 
                scb->scp                = NULL;
                scb->state              = SCB_FREE;
-               scb->dma_direction      = PCI_DMA_NONE;
+               scb->dma_direction      = DMA_NONE;
                scb->dma_type           = MRAID_DMA_NONE;
                scb->dev_channel        = -1;
                scb->dev_target         = -1;
@@ -3620,7 +3619,7 @@ megaraid_mbox_mm_command(adapter_t *adapter, uioc_t *kioc)
 
        scb->state              = SCB_ACTIVE;
        scb->dma_type           = MRAID_DMA_NONE;
-       scb->dma_direction      = PCI_DMA_NONE;
+       scb->dma_direction      = DMA_NONE;
 
        ccb             = (mbox_ccb_t *)scb->ccb;
        mbox64          = (mbox64_t *)(unsigned long)kioc->cmdbuf;
@@ -3810,8 +3809,8 @@ megaraid_sysfs_alloc_resources(adapter_t *adapter)
 
        raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL);
 
-       raid_dev->sysfs_buffer = pci_alloc_consistent(adapter->pdev,
-                       PAGE_SIZE, &raid_dev->sysfs_buffer_dma);
+       raid_dev->sysfs_buffer = dma_alloc_coherent(&adapter->pdev->dev,
+                       PAGE_SIZE, &raid_dev->sysfs_buffer_dma, GFP_KERNEL);
 
        if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 ||
                !raid_dev->sysfs_buffer) {
@@ -3848,7 +3847,7 @@ megaraid_sysfs_free_resources(adapter_t *adapter)
        kfree(raid_dev->sysfs_mbox64);
 
        if (raid_dev->sysfs_buffer) {
-               pci_free_consistent(adapter->pdev, PAGE_SIZE,
+               dma_free_coherent(&adapter->pdev->dev, PAGE_SIZE,
                        raid_dev->sysfs_buffer, raid_dev->sysfs_buffer_dma);
        }
 }
-- 
2.19.1

Reply via email to