summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-10-11 03:34:24 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2018-10-17 21:58:52 -0400
commit66e3a2418b025871aee14ccf366a9841e0ae7ee0 (patch)
treed12f2975158bad5acc013c72a9713d1805182584
parent8bc8f47ea3964ef141e91ffff912538a66a55d5f (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.c51
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:
1091out_free_scb_list: 1091out_free_scb_list:
1092 kfree(adapter->kscb_list); 1092 kfree(adapter->kscb_list);
1093out_free_ibuf: 1093out_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);
1096out_free_common_mbox: 1096out_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}