scsi: lpfc: use dma_set_mask_and_coherent
authorChristoph Hellwig <hch@lst.de>
Thu, 18 Oct 2018 13:10:21 +0000 (15:10 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 15 Nov 2018 19:27:08 +0000 (14:27 -0500)
The driver currently uses pci_set_dma_mask despite otherwise using the
generic DMA API.  Switch it over to the better generic DMA API.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c

index fcf9042180b447c68ffc78b82734fcc9956d4aef..7d8135591401ac7cf399024cd4a5690d7d3f07cf 100644 (file)
@@ -7352,26 +7352,19 @@ lpfc_post_init_setup(struct lpfc_hba *phba)
 static int
 lpfc_sli_pci_mem_setup(struct lpfc_hba *phba)
 {
-       struct pci_dev *pdev;
+       struct pci_dev *pdev = phba->pcidev;
        unsigned long bar0map_len, bar2map_len;
        int i, hbq_count;
        void *ptr;
        int error = -ENODEV;
 
-       /* Obtain PCI device reference */
-       if (!phba->pcidev)
+       if (!pdev)
                return error;
-       else
-               pdev = phba->pcidev;
 
        /* Set the device DMA mask size */
-       if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0
-        || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(64)) != 0) {
-               if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0
-                || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(32)) != 0) {
-                       return error;
-               }
-       }
+       if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) ||
+           dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)))
+               return error;
 
        /* Get the bus address of Bar0 and Bar2 and the number of bytes
         * required by each mapping.
@@ -9735,25 +9728,18 @@ out:
 static int
 lpfc_sli4_pci_mem_setup(struct lpfc_hba *phba)
 {
-       struct pci_dev *pdev;
+       struct pci_dev *pdev = phba->pcidev;
        unsigned long bar0map_len, bar1map_len, bar2map_len;
        int error = -ENODEV;
        uint32_t if_type;
 
-       /* Obtain PCI device reference */
-       if (!phba->pcidev)
+       if (!pdev)
                return error;
-       else
-               pdev = phba->pcidev;
 
        /* Set the device DMA mask size */
-       if (pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0
-        || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(64)) != 0) {
-               if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) != 0
-                || pci_set_consistent_dma_mask(pdev,DMA_BIT_MASK(32)) != 0) {
-                       return error;
-               }
-       }
+       if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) ||
+           dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)))
+               return error;
 
        /*
         * The BARs and register set definitions and offset locations are