]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
scsi: csiostor: switch to generic DMA API
authorChristoph Hellwig <hch@lst.de>
Wed, 10 Oct 2018 16:34:51 +0000 (18:34 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 18 Oct 2018 01:58:52 +0000 (21:58 -0400)
Switch from the legacy PCI DMA API to the generic DMA API.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/csiostor/csio_init.c
drivers/scsi/csiostor/csio_lnode.c
drivers/scsi/csiostor/csio_scsi.c
drivers/scsi/csiostor/csio_wr.c

index ed2dae657964be4997934c1efe191fb8b556363f..aa04e4a7aed57791fa9e4a7713bb2d7760cd9c43 100644 (file)
@@ -210,11 +210,8 @@ csio_pci_init(struct pci_dev *pdev, int *bars)
        pci_set_master(pdev);
        pci_try_set_mwi(pdev);
 
-       if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
-               pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
-       } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
-               pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
-       } else {
+       if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) ||
+           dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32))) {
                dev_err(&pdev->dev, "No suitable DMA available.\n");
                goto err_release_regions;
        }
index cc5611efc7a9a62dbb1762ce950e4688188bbeca..66e58f0a75dc169fc5779e866863e9eabbb22055 100644 (file)
@@ -1845,8 +1845,8 @@ csio_ln_fdmi_init(struct csio_lnode *ln)
        /* Allocate Dma buffers for FDMI response Payload */
        dma_buf = &ln->mgmt_req->dma_buf;
        dma_buf->len = 2048;
-       dma_buf->vaddr = pci_alloc_consistent(hw->pdev, dma_buf->len,
-                                               &dma_buf->paddr);
+       dma_buf->vaddr = dma_alloc_coherent(&hw->pdev->dev, dma_buf->len,
+                                               &dma_buf->paddr, GFP_KERNEL);
        if (!dma_buf->vaddr) {
                csio_err(hw, "Failed to alloc DMA buffer for FDMI!\n");
                kfree(ln->mgmt_req);
@@ -1873,7 +1873,7 @@ csio_ln_fdmi_exit(struct csio_lnode *ln)
 
        dma_buf = &ln->mgmt_req->dma_buf;
        if (dma_buf->vaddr)
-               pci_free_consistent(hw->pdev, dma_buf->len, dma_buf->vaddr,
+               dma_free_coherent(&hw->pdev->dev, dma_buf->len, dma_buf->vaddr,
                                    dma_buf->paddr);
 
        kfree(ln->mgmt_req);
index dab0d3f9bee139934eba2d551ece7db13d8486fa..8c15b7acb4b7595fa2ace2de0c24742a425cf32e 100644 (file)
@@ -2349,8 +2349,8 @@ csio_scsi_alloc_ddp_bufs(struct csio_scsim *scm, struct csio_hw *hw,
                }
 
                /* Allocate Dma buffers for DDP */
-               ddp_desc->vaddr = pci_alloc_consistent(hw->pdev, unit_size,
-                                                       &ddp_desc->paddr);
+               ddp_desc->vaddr = dma_alloc_coherent(&hw->pdev->dev, unit_size,
+                               &ddp_desc->paddr, GFP_KERNEL);
                if (!ddp_desc->vaddr) {
                        csio_err(hw,
                                 "SCSI response DMA buffer (ddp) allocation"
@@ -2372,8 +2372,8 @@ csio_scsi_alloc_ddp_bufs(struct csio_scsim *scm, struct csio_hw *hw,
        list_for_each(tmp, &scm->ddp_freelist) {
                ddp_desc = (struct csio_dma_buf *) tmp;
                tmp = csio_list_prev(tmp);
-               pci_free_consistent(hw->pdev, ddp_desc->len, ddp_desc->vaddr,
-                                   ddp_desc->paddr);
+               dma_free_coherent(&hw->pdev->dev, ddp_desc->len,
+                                 ddp_desc->vaddr, ddp_desc->paddr);
                list_del_init(&ddp_desc->list);
                kfree(ddp_desc);
        }
@@ -2399,8 +2399,8 @@ csio_scsi_free_ddp_bufs(struct csio_scsim *scm, struct csio_hw *hw)
        list_for_each(tmp, &scm->ddp_freelist) {
                ddp_desc = (struct csio_dma_buf *) tmp;
                tmp = csio_list_prev(tmp);
-               pci_free_consistent(hw->pdev, ddp_desc->len, ddp_desc->vaddr,
-                                   ddp_desc->paddr);
+               dma_free_coherent(&hw->pdev->dev, ddp_desc->len,
+                                 ddp_desc->vaddr, ddp_desc->paddr);
                list_del_init(&ddp_desc->list);
                kfree(ddp_desc);
        }
index 5022e82ccc4fedcf628636e0976128eded1f1449..dc12933533d53e740b09a1895b1d8509b84d28e9 100644 (file)
@@ -124,8 +124,8 @@ csio_wr_fill_fl(struct csio_hw *hw, struct csio_q *flq)
 
        while (n--) {
                buf->len = sge->sge_fl_buf_size[sreg];
-               buf->vaddr = pci_alloc_consistent(hw->pdev, buf->len,
-                                                 &buf->paddr);
+               buf->vaddr = dma_alloc_coherent(&hw->pdev->dev, buf->len,
+                                               &buf->paddr, GFP_KERNEL);
                if (!buf->vaddr) {
                        csio_err(hw, "Could only fill %d buffers!\n", n + 1);
                        return -ENOMEM;
@@ -233,7 +233,8 @@ csio_wr_alloc_q(struct csio_hw *hw, uint32_t qsize, uint32_t wrsize,
 
        q = wrm->q_arr[free_idx];
 
-       q->vstart = pci_zalloc_consistent(hw->pdev, qsz, &q->pstart);
+       q->vstart = dma_zalloc_coherent(&hw->pdev->dev, qsz, &q->pstart,
+                       GFP_KERNEL);
        if (!q->vstart) {
                csio_err(hw,
                         "Failed to allocate DMA memory for "
@@ -1703,14 +1704,14 @@ csio_wrm_exit(struct csio_wrm *wrm, struct csio_hw *hw)
                                        buf = &q->un.fl.bufs[j];
                                        if (!buf->vaddr)
                                                continue;
-                                       pci_free_consistent(hw->pdev, buf->len,
-                                                           buf->vaddr,
-                                                           buf->paddr);
+                                       dma_free_coherent(&hw->pdev->dev,
+                                                       buf->len, buf->vaddr,
+                                                       buf->paddr);
                                }
                                kfree(q->un.fl.bufs);
                        }
-                       pci_free_consistent(hw->pdev, q->size,
-                                           q->vstart, q->pstart);
+                       dma_free_coherent(&hw->pdev->dev, q->size,
+                                       q->vstart, q->pstart);
                }
                kfree(q);
        }