Skip to content

Commit

Permalink
scsi: megaraid: Replace PCI pool old API
Browse files Browse the repository at this point in the history
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
Reviewed-by: Peter Senna Tschudin <peter.senna@collabora.com>
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Romain Perier authored and Martin K. Petersen committed Aug 7, 2017
1 parent 771db5c commit fc69d86
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 64 deletions.
30 changes: 15 additions & 15 deletions drivers/scsi/megaraid/megaraid_mbox.c
Original file line number Diff line number Diff line change
Expand Up @@ -1153,8 +1153,8 @@ megaraid_mbox_setup_dma_pools(adapter_t *adapter)


// Allocate memory for 16-bytes aligned mailboxes
raid_dev->mbox_pool_handle = pci_pool_create("megaraid mbox pool",
adapter->pdev,
raid_dev->mbox_pool_handle = dma_pool_create("megaraid mbox pool",
&adapter->pdev->dev,
sizeof(mbox64_t) + 16,
16, 0);

Expand All @@ -1164,7 +1164,7 @@ megaraid_mbox_setup_dma_pools(adapter_t *adapter)

mbox_pci_blk = raid_dev->mbox_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS; i++) {
mbox_pci_blk[i].vaddr = pci_pool_alloc(
mbox_pci_blk[i].vaddr = dma_pool_alloc(
raid_dev->mbox_pool_handle,
GFP_KERNEL,
&mbox_pci_blk[i].dma_addr);
Expand All @@ -1181,16 +1181,16 @@ megaraid_mbox_setup_dma_pools(adapter_t *adapter)
* share common memory pool. Passthru structures piggyback on memory
* allocted to extended passthru since passthru is smaller of the two
*/
raid_dev->epthru_pool_handle = pci_pool_create("megaraid mbox pthru",
adapter->pdev, sizeof(mraid_epassthru_t), 128, 0);
raid_dev->epthru_pool_handle = dma_pool_create("megaraid mbox pthru",
&adapter->pdev->dev, sizeof(mraid_epassthru_t), 128, 0);

if (raid_dev->epthru_pool_handle == NULL) {
goto fail_setup_dma_pool;
}

epthru_pci_blk = raid_dev->epthru_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS; i++) {
epthru_pci_blk[i].vaddr = pci_pool_alloc(
epthru_pci_blk[i].vaddr = dma_pool_alloc(
raid_dev->epthru_pool_handle,
GFP_KERNEL,
&epthru_pci_blk[i].dma_addr);
Expand All @@ -1202,8 +1202,8 @@ megaraid_mbox_setup_dma_pools(adapter_t *adapter)

// Allocate memory for each scatter-gather list. Request for 512 bytes
// alignment for each sg list
raid_dev->sg_pool_handle = pci_pool_create("megaraid mbox sg",
adapter->pdev,
raid_dev->sg_pool_handle = dma_pool_create("megaraid mbox sg",
&adapter->pdev->dev,
sizeof(mbox_sgl64) * MBOX_MAX_SG_SIZE,
512, 0);

Expand All @@ -1213,7 +1213,7 @@ megaraid_mbox_setup_dma_pools(adapter_t *adapter)

sg_pci_blk = raid_dev->sg_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS; i++) {
sg_pci_blk[i].vaddr = pci_pool_alloc(
sg_pci_blk[i].vaddr = dma_pool_alloc(
raid_dev->sg_pool_handle,
GFP_KERNEL,
&sg_pci_blk[i].dma_addr);
Expand Down Expand Up @@ -1249,29 +1249,29 @@ megaraid_mbox_teardown_dma_pools(adapter_t *adapter)

sg_pci_blk = raid_dev->sg_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS && sg_pci_blk[i].vaddr; i++) {
pci_pool_free(raid_dev->sg_pool_handle, sg_pci_blk[i].vaddr,
dma_pool_free(raid_dev->sg_pool_handle, sg_pci_blk[i].vaddr,
sg_pci_blk[i].dma_addr);
}
if (raid_dev->sg_pool_handle)
pci_pool_destroy(raid_dev->sg_pool_handle);
dma_pool_destroy(raid_dev->sg_pool_handle);


epthru_pci_blk = raid_dev->epthru_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS && epthru_pci_blk[i].vaddr; i++) {
pci_pool_free(raid_dev->epthru_pool_handle,
dma_pool_free(raid_dev->epthru_pool_handle,
epthru_pci_blk[i].vaddr, epthru_pci_blk[i].dma_addr);
}
if (raid_dev->epthru_pool_handle)
pci_pool_destroy(raid_dev->epthru_pool_handle);
dma_pool_destroy(raid_dev->epthru_pool_handle);


mbox_pci_blk = raid_dev->mbox_pool;
for (i = 0; i < MBOX_MAX_SCSI_CMDS && mbox_pci_blk[i].vaddr; i++) {
pci_pool_free(raid_dev->mbox_pool_handle,
dma_pool_free(raid_dev->mbox_pool_handle,
mbox_pci_blk[i].vaddr, mbox_pci_blk[i].dma_addr);
}
if (raid_dev->mbox_pool_handle)
pci_pool_destroy(raid_dev->mbox_pool_handle);
dma_pool_destroy(raid_dev->mbox_pool_handle);

return;
}
Expand Down
29 changes: 15 additions & 14 deletions drivers/scsi/megaraid/megaraid_mm.c
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ mraid_mm_attach_buf(mraid_mmadp_t *adp, uioc_t *kioc, int xferlen)

kioc->pool_index = right_pool;
kioc->free_buf = 1;
kioc->buf_vaddr = pci_pool_alloc(pool->handle, GFP_ATOMIC,
kioc->buf_vaddr = dma_pool_alloc(pool->handle, GFP_ATOMIC,
&kioc->buf_paddr);
spin_unlock_irqrestore(&pool->lock, flags);

Expand Down Expand Up @@ -658,7 +658,7 @@ mraid_mm_dealloc_kioc(mraid_mmadp_t *adp, uioc_t *kioc)
* not in use
*/
if (kioc->free_buf == 1)
pci_pool_free(pool->handle, kioc->buf_vaddr,
dma_pool_free(pool->handle, kioc->buf_vaddr,
kioc->buf_paddr);
else
pool->in_use = 0;
Expand Down Expand Up @@ -940,8 +940,8 @@ mraid_mm_register_adp(mraid_mmadp_t *lld_adp)
GFP_KERNEL);
adapter->mbox_list = kmalloc(sizeof(mbox64_t) * lld_adp->max_kioc,
GFP_KERNEL);
adapter->pthru_dma_pool = pci_pool_create("megaraid mm pthru pool",
adapter->pdev,
adapter->pthru_dma_pool = dma_pool_create("megaraid mm pthru pool",
&adapter->pdev->dev,
sizeof(mraid_passthru_t),
16, 0);

Expand Down Expand Up @@ -970,7 +970,7 @@ mraid_mm_register_adp(mraid_mmadp_t *lld_adp)

kioc = adapter->kioc_list + i;
kioc->cmdbuf = (uint64_t)(unsigned long)(mbox_list + i);
kioc->pthru32 = pci_pool_alloc(adapter->pthru_dma_pool,
kioc->pthru32 = dma_pool_alloc(adapter->pthru_dma_pool,
GFP_KERNEL, &kioc->pthru32_h);

if (!kioc->pthru32) {
Expand Down Expand Up @@ -1006,7 +1006,7 @@ mraid_mm_register_adp(mraid_mmadp_t *lld_adp)
for (i = 0; i < lld_adp->max_kioc; i++) {
kioc = adapter->kioc_list + i;
if (kioc->pthru32) {
pci_pool_free(adapter->pthru_dma_pool, kioc->pthru32,
dma_pool_free(adapter->pthru_dma_pool, kioc->pthru32,
kioc->pthru32_h);
}
}
Expand All @@ -1017,7 +1017,7 @@ mraid_mm_register_adp(mraid_mmadp_t *lld_adp)
kfree(adapter->mbox_list);

if (adapter->pthru_dma_pool)
pci_pool_destroy(adapter->pthru_dma_pool);
dma_pool_destroy(adapter->pthru_dma_pool);

kfree(adapter);

Expand Down Expand Up @@ -1086,14 +1086,15 @@ mraid_mm_setup_dma_pools(mraid_mmadp_t *adp)
pool->buf_size = bufsize;
spin_lock_init(&pool->lock);

pool->handle = pci_pool_create("megaraid mm data buffer",
adp->pdev, bufsize, 16, 0);
pool->handle = dma_pool_create("megaraid mm data buffer",
&adp->pdev->dev, bufsize,
16, 0);

if (!pool->handle) {
goto dma_pool_setup_error;
}

pool->vaddr = pci_pool_alloc(pool->handle, GFP_KERNEL,
pool->vaddr = dma_pool_alloc(pool->handle, GFP_KERNEL,
&pool->paddr);

if (!pool->vaddr)
Expand Down Expand Up @@ -1163,14 +1164,14 @@ mraid_mm_free_adp_resources(mraid_mmadp_t *adp)

kioc = adp->kioc_list + i;

pci_pool_free(adp->pthru_dma_pool, kioc->pthru32,
dma_pool_free(adp->pthru_dma_pool, kioc->pthru32,
kioc->pthru32_h);
}

kfree(adp->kioc_list);
kfree(adp->mbox_list);

pci_pool_destroy(adp->pthru_dma_pool);
dma_pool_destroy(adp->pthru_dma_pool);


return;
Expand All @@ -1194,10 +1195,10 @@ mraid_mm_teardown_dma_pools(mraid_mmadp_t *adp)
if (pool->handle) {

if (pool->vaddr)
pci_pool_free(pool->handle, pool->vaddr,
dma_pool_free(pool->handle, pool->vaddr,
pool->paddr);

pci_pool_destroy(pool->handle);
dma_pool_destroy(pool->handle);
pool->handle = NULL;
}
}
Expand Down
27 changes: 14 additions & 13 deletions drivers/scsi/megaraid/megaraid_sas_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -3862,19 +3862,19 @@ static void megasas_teardown_frame_pool(struct megasas_instance *instance)
cmd = instance->cmd_list[i];

if (cmd->frame)
pci_pool_free(instance->frame_dma_pool, cmd->frame,
dma_pool_free(instance->frame_dma_pool, cmd->frame,
cmd->frame_phys_addr);

if (cmd->sense)
pci_pool_free(instance->sense_dma_pool, cmd->sense,
dma_pool_free(instance->sense_dma_pool, cmd->sense,
cmd->sense_phys_addr);
}

/*
* Now destroy the pool itself
*/
pci_pool_destroy(instance->frame_dma_pool);
pci_pool_destroy(instance->sense_dma_pool);
dma_pool_destroy(instance->frame_dma_pool);
dma_pool_destroy(instance->sense_dma_pool);

instance->frame_dma_pool = NULL;
instance->sense_dma_pool = NULL;
Expand Down Expand Up @@ -3925,22 +3925,23 @@ static int megasas_create_frame_pool(struct megasas_instance *instance)
/*
* Use DMA pool facility provided by PCI layer
*/
instance->frame_dma_pool = pci_pool_create("megasas frame pool",
instance->pdev, instance->mfi_frame_size,
256, 0);
instance->frame_dma_pool = dma_pool_create("megasas frame pool",
&instance->pdev->dev,
instance->mfi_frame_size, 256, 0);

if (!instance->frame_dma_pool) {
dev_printk(KERN_DEBUG, &instance->pdev->dev, "failed to setup frame pool\n");
return -ENOMEM;
}

instance->sense_dma_pool = pci_pool_create("megasas sense pool",
instance->pdev, 128, 4, 0);
instance->sense_dma_pool = dma_pool_create("megasas sense pool",
&instance->pdev->dev, 128,
4, 0);

if (!instance->sense_dma_pool) {
dev_printk(KERN_DEBUG, &instance->pdev->dev, "failed to setup sense pool\n");

pci_pool_destroy(instance->frame_dma_pool);
dma_pool_destroy(instance->frame_dma_pool);
instance->frame_dma_pool = NULL;

return -ENOMEM;
Expand All @@ -3955,18 +3956,18 @@ static int megasas_create_frame_pool(struct megasas_instance *instance)

cmd = instance->cmd_list[i];

cmd->frame = pci_pool_alloc(instance->frame_dma_pool,
cmd->frame = dma_pool_alloc(instance->frame_dma_pool,
GFP_KERNEL, &cmd->frame_phys_addr);

cmd->sense = pci_pool_alloc(instance->sense_dma_pool,
cmd->sense = dma_pool_alloc(instance->sense_dma_pool,
GFP_KERNEL, &cmd->sense_phys_addr);

/*
* megasas_teardown_frame_pool() takes care of freeing
* whatever has been allocated
*/
if (!cmd->frame || !cmd->sense) {
dev_printk(KERN_DEBUG, &instance->pdev->dev, "pci_pool_alloc failed\n");
dev_printk(KERN_DEBUG, &instance->pdev->dev, "dma_pool_alloc failed\n");
megasas_teardown_frame_pool(instance);
return -ENOMEM;
}
Expand Down
Loading

0 comments on commit fc69d86

Please sign in to comment.