diff options
| author | Christoph Hellwig <hch@lst.de> | 2018-10-11 03:34:24 -0400 |
|---|---|---|
| committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-10-17 21:58:52 -0400 |
| commit | 66e3a2418b025871aee14ccf366a9841e0ae7ee0 (patch) | |
| tree | d12f2975158bad5acc013c72a9713d1805182584 | |
| parent | 8bc8f47ea3964ef141e91ffff912538a66a55d5f (diff) | |
scsi: megaraid_mbox: switch to generic DMA API
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>
| -rw-r--r-- | drivers/scsi/megaraid/megaraid_mbox.c | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c index eae826ba0c05..3b7abe5ca7f5 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c | |||
| @@ -450,10 +450,9 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 450 | 450 | ||
| 451 | // Setup the default DMA mask. This would be changed later on | 451 | // Setup the default DMA mask. This would be changed later on |
| 452 | // depending on hardware capabilities | 452 | // depending on hardware capabilities |
| 453 | if (pci_set_dma_mask(adapter->pdev, DMA_BIT_MASK(32)) != 0) { | 453 | if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(32))) { |
| 454 | |||
| 455 | con_log(CL_ANN, (KERN_WARNING | 454 | con_log(CL_ANN, (KERN_WARNING |
| 456 | "megaraid: pci_set_dma_mask failed:%d\n", __LINE__)); | 455 | "megaraid: dma_set_mask failed:%d\n", __LINE__)); |
| 457 | 456 | ||
| 458 | goto out_free_adapter; | 457 | goto out_free_adapter; |
| 459 | } | 458 | } |
| @@ -871,11 +870,12 @@ megaraid_init_mbox(adapter_t *adapter) | |||
| 871 | adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) || | 870 | adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) || |
| 872 | (adapter->pdev->vendor == PCI_VENDOR_ID_DELL && | 871 | (adapter->pdev->vendor == PCI_VENDOR_ID_DELL && |
| 873 | adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) { | 872 | adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) { |
| 874 | if (pci_set_dma_mask(adapter->pdev, DMA_BIT_MASK(64))) { | 873 | if (dma_set_mask(&adapter->pdev->dev, DMA_BIT_MASK(64))) { |
| 875 | con_log(CL_ANN, (KERN_WARNING | 874 | con_log(CL_ANN, (KERN_WARNING |
| 876 | "megaraid: DMA mask for 64-bit failed\n")); | 875 | "megaraid: DMA mask for 64-bit failed\n")); |
| 877 | 876 | ||
| 878 | if (pci_set_dma_mask (adapter->pdev, DMA_BIT_MASK(32))) { | 877 | if (dma_set_mask(&adapter->pdev->dev, |
| 878 | DMA_BIT_MASK(32))) { | ||
| 879 | con_log(CL_ANN, (KERN_WARNING | 879 | con_log(CL_ANN, (KERN_WARNING |
| 880 | "megaraid: 32-bit DMA mask failed\n")); | 880 | "megaraid: 32-bit DMA mask failed\n")); |
| 881 | goto out_free_sysfs_res; | 881 | goto out_free_sysfs_res; |
| @@ -968,9 +968,9 @@ megaraid_alloc_cmd_packets(adapter_t *adapter) | |||
| 968 | * Allocate the common 16-byte aligned memory for the handshake | 968 | * Allocate the common 16-byte aligned memory for the handshake |
| 969 | * mailbox. | 969 | * mailbox. |
| 970 | */ | 970 | */ |
| 971 | raid_dev->una_mbox64 = pci_zalloc_consistent(adapter->pdev, | 971 | raid_dev->una_mbox64 = dma_zalloc_coherent(&adapter->pdev->dev, |
| 972 | sizeof(mbox64_t), | 972 | sizeof(mbox64_t), &raid_dev->una_mbox64_dma, |
| 973 | &raid_dev->una_mbox64_dma); | 973 | GFP_KERNEL); |
| 974 | 974 | ||
| 975 | if (!raid_dev->una_mbox64) { | 975 | if (!raid_dev->una_mbox64) { |
| 976 | con_log(CL_ANN, (KERN_WARNING | 976 | con_log(CL_ANN, (KERN_WARNING |
| @@ -996,8 +996,8 @@ megaraid_alloc_cmd_packets(adapter_t *adapter) | |||
| 996 | align; | 996 | align; |
| 997 | 997 | ||
| 998 | // Allocate memory for commands issued internally | 998 | // Allocate memory for commands issued internally |
| 999 | adapter->ibuf = pci_zalloc_consistent(pdev, MBOX_IBUF_SIZE, | 999 | adapter->ibuf = dma_zalloc_coherent(&pdev->dev, MBOX_IBUF_SIZE, |
| 1000 | &adapter->ibuf_dma_h); | 1000 | &adapter->ibuf_dma_h, GFP_KERNEL); |
| 1001 | if (!adapter->ibuf) { | 1001 | if (!adapter->ibuf) { |
| 1002 | 1002 | ||
| 1003 | con_log(CL_ANN, (KERN_WARNING | 1003 | con_log(CL_ANN, (KERN_WARNING |
| @@ -1075,7 +1075,7 @@ megaraid_alloc_cmd_packets(adapter_t *adapter) | |||
| 1075 | 1075 | ||
| 1076 | scb->scp = NULL; | 1076 | scb->scp = NULL; |
| 1077 | scb->state = SCB_FREE; | 1077 | scb->state = SCB_FREE; |
| 1078 | scb->dma_direction = PCI_DMA_NONE; | 1078 | scb->dma_direction = DMA_NONE; |
| 1079 | scb->dma_type = MRAID_DMA_NONE; | 1079 | scb->dma_type = MRAID_DMA_NONE; |
| 1080 | scb->dev_channel = -1; | 1080 | scb->dev_channel = -1; |
| 1081 | scb->dev_target = -1; | 1081 | scb->dev_target = -1; |
| @@ -1091,10 +1091,10 @@ out_teardown_dma_pools: | |||
| 1091 | out_free_scb_list: | 1091 | out_free_scb_list: |
| 1092 | kfree(adapter->kscb_list); | 1092 | kfree(adapter->kscb_list); |
| 1093 | out_free_ibuf: | 1093 | out_free_ibuf: |
| 1094 | pci_free_consistent(pdev, MBOX_IBUF_SIZE, (void *)adapter->ibuf, | 1094 | dma_free_coherent(&pdev->dev, MBOX_IBUF_SIZE, (void *)adapter->ibuf, |
| 1095 | adapter->ibuf_dma_h); | 1095 | adapter->ibuf_dma_h); |
| 1096 | out_free_common_mbox: | 1096 | out_free_common_mbox: |
| 1097 | pci_free_consistent(adapter->pdev, sizeof(mbox64_t), | 1097 | dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t), |
| 1098 | (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); | 1098 | (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); |
| 1099 | 1099 | ||
| 1100 | return -1; | 1100 | return -1; |
| @@ -1116,10 +1116,10 @@ megaraid_free_cmd_packets(adapter_t *adapter) | |||
| 1116 | 1116 | ||
| 1117 | kfree(adapter->kscb_list); | 1117 | kfree(adapter->kscb_list); |
| 1118 | 1118 | ||
| 1119 | pci_free_consistent(adapter->pdev, MBOX_IBUF_SIZE, | 1119 | dma_free_coherent(&adapter->pdev->dev, MBOX_IBUF_SIZE, |
| 1120 | (void *)adapter->ibuf, adapter->ibuf_dma_h); | 1120 | (void *)adapter->ibuf, adapter->ibuf_dma_h); |
| 1121 | 1121 | ||
| 1122 | pci_free_consistent(adapter->pdev, sizeof(mbox64_t), | 1122 | dma_free_coherent(&adapter->pdev->dev, sizeof(mbox64_t), |
| 1123 | (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); | 1123 | (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); |
| 1124 | return; | 1124 | return; |
| 1125 | } | 1125 | } |
| @@ -2901,9 +2901,8 @@ megaraid_mbox_product_info(adapter_t *adapter) | |||
| 2901 | * Issue an ENQUIRY3 command to find out certain adapter parameters, | 2901 | * Issue an ENQUIRY3 command to find out certain adapter parameters, |
| 2902 | * e.g., max channels, max commands etc. | 2902 | * e.g., max channels, max commands etc. |
| 2903 | */ | 2903 | */ |
| 2904 | pinfo = pci_zalloc_consistent(adapter->pdev, sizeof(mraid_pinfo_t), | 2904 | pinfo = dma_zalloc_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), |
| 2905 | &pinfo_dma_h); | 2905 | &pinfo_dma_h, GFP_KERNEL); |
| 2906 | |||
| 2907 | if (pinfo == NULL) { | 2906 | if (pinfo == NULL) { |
| 2908 | con_log(CL_ANN, (KERN_WARNING | 2907 | con_log(CL_ANN, (KERN_WARNING |
| 2909 | "megaraid: out of memory, %s %d\n", __func__, | 2908 | "megaraid: out of memory, %s %d\n", __func__, |
| @@ -2924,7 +2923,7 @@ megaraid_mbox_product_info(adapter_t *adapter) | |||
| 2924 | 2923 | ||
| 2925 | con_log(CL_ANN, (KERN_WARNING "megaraid: Inquiry3 failed\n")); | 2924 | con_log(CL_ANN, (KERN_WARNING "megaraid: Inquiry3 failed\n")); |
| 2926 | 2925 | ||
| 2927 | pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t), | 2926 | dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), |
| 2928 | pinfo, pinfo_dma_h); | 2927 | pinfo, pinfo_dma_h); |
| 2929 | 2928 | ||
| 2930 | return -1; | 2929 | return -1; |
| @@ -2955,7 +2954,7 @@ megaraid_mbox_product_info(adapter_t *adapter) | |||
| 2955 | con_log(CL_ANN, (KERN_WARNING | 2954 | con_log(CL_ANN, (KERN_WARNING |
| 2956 | "megaraid: product info failed\n")); | 2955 | "megaraid: product info failed\n")); |
| 2957 | 2956 | ||
| 2958 | pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t), | 2957 | dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), |
| 2959 | pinfo, pinfo_dma_h); | 2958 | pinfo, pinfo_dma_h); |
| 2960 | 2959 | ||
| 2961 | return -1; | 2960 | return -1; |
| @@ -2991,7 +2990,7 @@ megaraid_mbox_product_info(adapter_t *adapter) | |||
| 2991 | "megaraid: fw version:[%s] bios version:[%s]\n", | 2990 | "megaraid: fw version:[%s] bios version:[%s]\n", |
| 2992 | adapter->fw_version, adapter->bios_version)); | 2991 | adapter->fw_version, adapter->bios_version)); |
| 2993 | 2992 | ||
| 2994 | pci_free_consistent(adapter->pdev, sizeof(mraid_pinfo_t), pinfo, | 2993 | dma_free_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t), pinfo, |
| 2995 | pinfo_dma_h); | 2994 | pinfo_dma_h); |
| 2996 | 2995 | ||
| 2997 | return 0; | 2996 | return 0; |
| @@ -3459,7 +3458,7 @@ megaraid_cmm_register(adapter_t *adapter) | |||
| 3459 | 3458 | ||
| 3460 | scb->scp = NULL; | 3459 | scb->scp = NULL; |
| 3461 | scb->state = SCB_FREE; | 3460 | scb->state = SCB_FREE; |
| 3462 | scb->dma_direction = PCI_DMA_NONE; | 3461 | scb->dma_direction = DMA_NONE; |
| 3463 | scb->dma_type = MRAID_DMA_NONE; | 3462 | scb->dma_type = MRAID_DMA_NONE; |
| 3464 | scb->dev_channel = -1; | 3463 | scb->dev_channel = -1; |
| 3465 | scb->dev_target = -1; | 3464 | scb->dev_target = -1; |
| @@ -3597,7 +3596,7 @@ megaraid_mbox_mm_command(adapter_t *adapter, uioc_t *kioc) | |||
| 3597 | 3596 | ||
| 3598 | scb->state = SCB_ACTIVE; | 3597 | scb->state = SCB_ACTIVE; |
| 3599 | scb->dma_type = MRAID_DMA_NONE; | 3598 | scb->dma_type = MRAID_DMA_NONE; |
| 3600 | scb->dma_direction = PCI_DMA_NONE; | 3599 | scb->dma_direction = DMA_NONE; |
| 3601 | 3600 | ||
| 3602 | ccb = (mbox_ccb_t *)scb->ccb; | 3601 | ccb = (mbox_ccb_t *)scb->ccb; |
| 3603 | mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf; | 3602 | mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf; |
| @@ -3783,8 +3782,8 @@ megaraid_sysfs_alloc_resources(adapter_t *adapter) | |||
| 3783 | 3782 | ||
| 3784 | raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL); | 3783 | raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL); |
| 3785 | 3784 | ||
| 3786 | raid_dev->sysfs_buffer = pci_alloc_consistent(adapter->pdev, | 3785 | raid_dev->sysfs_buffer = dma_alloc_coherent(&adapter->pdev->dev, |
| 3787 | PAGE_SIZE, &raid_dev->sysfs_buffer_dma); | 3786 | PAGE_SIZE, &raid_dev->sysfs_buffer_dma, GFP_KERNEL); |
| 3788 | 3787 | ||
| 3789 | if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 || | 3788 | if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 || |
| 3790 | !raid_dev->sysfs_buffer) { | 3789 | !raid_dev->sysfs_buffer) { |
| @@ -3821,7 +3820,7 @@ megaraid_sysfs_free_resources(adapter_t *adapter) | |||
| 3821 | kfree(raid_dev->sysfs_mbox64); | 3820 | kfree(raid_dev->sysfs_mbox64); |
| 3822 | 3821 | ||
| 3823 | if (raid_dev->sysfs_buffer) { | 3822 | if (raid_dev->sysfs_buffer) { |
| 3824 | pci_free_consistent(adapter->pdev, PAGE_SIZE, | 3823 | dma_free_coherent(&adapter->pdev->dev, PAGE_SIZE, |
| 3825 | raid_dev->sysfs_buffer, raid_dev->sysfs_buffer_dma); | 3824 | raid_dev->sysfs_buffer, raid_dev->sysfs_buffer_dma); |
| 3826 | } | 3825 | } |
| 3827 | } | 3826 | } |
