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>
This commit is contained in:
parent
8bc8f47ea3
commit
66e3a2418b
|
@ -450,10 +450,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
|
// Setup the default DMA mask. This would be changed later on
|
||||||
// depending on hardware capabilities
|
// 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
|
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;
|
goto out_free_adapter;
|
||||||
}
|
}
|
||||||
|
@ -871,11 +870,12 @@ megaraid_init_mbox(adapter_t *adapter)
|
||||||
adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) ||
|
adapter->pdev->device == PCI_DEVICE_ID_PERC4_DI_EVERGLADES) ||
|
||||||
(adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
|
(adapter->pdev->vendor == PCI_VENDOR_ID_DELL &&
|
||||||
adapter->pdev->device == PCI_DEVICE_ID_PERC4E_DI_KOBUK)) {
|
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
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
"megaraid: DMA mask for 64-bit failed\n"));
|
"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
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
"megaraid: 32-bit DMA mask failed\n"));
|
"megaraid: 32-bit DMA mask failed\n"));
|
||||||
goto out_free_sysfs_res;
|
goto out_free_sysfs_res;
|
||||||
|
@ -968,9 +968,9 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
|
||||||
* Allocate the common 16-byte aligned memory for the handshake
|
* Allocate the common 16-byte aligned memory for the handshake
|
||||||
* mailbox.
|
* mailbox.
|
||||||
*/
|
*/
|
||||||
raid_dev->una_mbox64 = pci_zalloc_consistent(adapter->pdev,
|
raid_dev->una_mbox64 = dma_zalloc_coherent(&adapter->pdev->dev,
|
||||||
sizeof(mbox64_t),
|
sizeof(mbox64_t), &raid_dev->una_mbox64_dma,
|
||||||
&raid_dev->una_mbox64_dma);
|
GFP_KERNEL);
|
||||||
|
|
||||||
if (!raid_dev->una_mbox64) {
|
if (!raid_dev->una_mbox64) {
|
||||||
con_log(CL_ANN, (KERN_WARNING
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
|
@ -996,8 +996,8 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
|
||||||
align;
|
align;
|
||||||
|
|
||||||
// Allocate memory for commands issued internally
|
// Allocate memory for commands issued internally
|
||||||
adapter->ibuf = pci_zalloc_consistent(pdev, MBOX_IBUF_SIZE,
|
adapter->ibuf = dma_zalloc_coherent(&pdev->dev, MBOX_IBUF_SIZE,
|
||||||
&adapter->ibuf_dma_h);
|
&adapter->ibuf_dma_h, GFP_KERNEL);
|
||||||
if (!adapter->ibuf) {
|
if (!adapter->ibuf) {
|
||||||
|
|
||||||
con_log(CL_ANN, (KERN_WARNING
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
|
@ -1075,7 +1075,7 @@ megaraid_alloc_cmd_packets(adapter_t *adapter)
|
||||||
|
|
||||||
scb->scp = NULL;
|
scb->scp = NULL;
|
||||||
scb->state = SCB_FREE;
|
scb->state = SCB_FREE;
|
||||||
scb->dma_direction = PCI_DMA_NONE;
|
scb->dma_direction = DMA_NONE;
|
||||||
scb->dma_type = MRAID_DMA_NONE;
|
scb->dma_type = MRAID_DMA_NONE;
|
||||||
scb->dev_channel = -1;
|
scb->dev_channel = -1;
|
||||||
scb->dev_target = -1;
|
scb->dev_target = -1;
|
||||||
|
@ -1091,10 +1091,10 @@ out_teardown_dma_pools:
|
||||||
out_free_scb_list:
|
out_free_scb_list:
|
||||||
kfree(adapter->kscb_list);
|
kfree(adapter->kscb_list);
|
||||||
out_free_ibuf:
|
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);
|
adapter->ibuf_dma_h);
|
||||||
out_free_common_mbox:
|
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);
|
(caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -1116,10 +1116,10 @@ megaraid_free_cmd_packets(adapter_t *adapter)
|
||||||
|
|
||||||
kfree(adapter->kscb_list);
|
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);
|
(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);
|
(caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -2901,9 +2901,8 @@ megaraid_mbox_product_info(adapter_t *adapter)
|
||||||
* Issue an ENQUIRY3 command to find out certain adapter parameters,
|
* Issue an ENQUIRY3 command to find out certain adapter parameters,
|
||||||
* e.g., max channels, max commands etc.
|
* e.g., max channels, max commands etc.
|
||||||
*/
|
*/
|
||||||
pinfo = pci_zalloc_consistent(adapter->pdev, sizeof(mraid_pinfo_t),
|
pinfo = dma_zalloc_coherent(&adapter->pdev->dev, sizeof(mraid_pinfo_t),
|
||||||
&pinfo_dma_h);
|
&pinfo_dma_h, GFP_KERNEL);
|
||||||
|
|
||||||
if (pinfo == NULL) {
|
if (pinfo == NULL) {
|
||||||
con_log(CL_ANN, (KERN_WARNING
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
"megaraid: out of memory, %s %d\n", __func__,
|
"megaraid: out of memory, %s %d\n", __func__,
|
||||||
|
@ -2924,7 +2923,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
|
||||||
|
|
||||||
con_log(CL_ANN, (KERN_WARNING "megaraid: Inquiry3 failed\n"));
|
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);
|
pinfo, pinfo_dma_h);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -2955,7 +2954,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
|
||||||
con_log(CL_ANN, (KERN_WARNING
|
con_log(CL_ANN, (KERN_WARNING
|
||||||
"megaraid: product info failed\n"));
|
"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);
|
pinfo, pinfo_dma_h);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -2991,7 +2990,7 @@ megaraid_mbox_product_info(adapter_t *adapter)
|
||||||
"megaraid: fw version:[%s] bios version:[%s]\n",
|
"megaraid: fw version:[%s] bios version:[%s]\n",
|
||||||
adapter->fw_version, adapter->bios_version));
|
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);
|
pinfo_dma_h);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3459,7 +3458,7 @@ megaraid_cmm_register(adapter_t *adapter)
|
||||||
|
|
||||||
scb->scp = NULL;
|
scb->scp = NULL;
|
||||||
scb->state = SCB_FREE;
|
scb->state = SCB_FREE;
|
||||||
scb->dma_direction = PCI_DMA_NONE;
|
scb->dma_direction = DMA_NONE;
|
||||||
scb->dma_type = MRAID_DMA_NONE;
|
scb->dma_type = MRAID_DMA_NONE;
|
||||||
scb->dev_channel = -1;
|
scb->dev_channel = -1;
|
||||||
scb->dev_target = -1;
|
scb->dev_target = -1;
|
||||||
|
@ -3597,7 +3596,7 @@ megaraid_mbox_mm_command(adapter_t *adapter, uioc_t *kioc)
|
||||||
|
|
||||||
scb->state = SCB_ACTIVE;
|
scb->state = SCB_ACTIVE;
|
||||||
scb->dma_type = MRAID_DMA_NONE;
|
scb->dma_type = MRAID_DMA_NONE;
|
||||||
scb->dma_direction = PCI_DMA_NONE;
|
scb->dma_direction = DMA_NONE;
|
||||||
|
|
||||||
ccb = (mbox_ccb_t *)scb->ccb;
|
ccb = (mbox_ccb_t *)scb->ccb;
|
||||||
mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf;
|
mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf;
|
||||||
|
@ -3783,8 +3782,8 @@ megaraid_sysfs_alloc_resources(adapter_t *adapter)
|
||||||
|
|
||||||
raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL);
|
raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL);
|
||||||
|
|
||||||
raid_dev->sysfs_buffer = pci_alloc_consistent(adapter->pdev,
|
raid_dev->sysfs_buffer = dma_alloc_coherent(&adapter->pdev->dev,
|
||||||
PAGE_SIZE, &raid_dev->sysfs_buffer_dma);
|
PAGE_SIZE, &raid_dev->sysfs_buffer_dma, GFP_KERNEL);
|
||||||
|
|
||||||
if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 ||
|
if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 ||
|
||||||
!raid_dev->sysfs_buffer) {
|
!raid_dev->sysfs_buffer) {
|
||||||
|
@ -3821,7 +3820,7 @@ megaraid_sysfs_free_resources(adapter_t *adapter)
|
||||||
kfree(raid_dev->sysfs_mbox64);
|
kfree(raid_dev->sysfs_mbox64);
|
||||||
|
|
||||||
if (raid_dev->sysfs_buffer) {
|
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);
|
raid_dev->sysfs_buffer, raid_dev->sysfs_buffer_dma);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue