Lines Matching refs:sglist
3148 struct scatterlist *sglist; in pmcraid_build_ioadl() local
3180 scsi_for_each_sg(scsi_cmd, sglist, nseg, i) { in pmcraid_build_ioadl()
3181 ioadl[i].data_len = cpu_to_le32(sg_dma_len(sglist)); in pmcraid_build_ioadl()
3182 ioadl[i].address = cpu_to_le64(sg_dma_address(sglist)); in pmcraid_build_ioadl()
3200 static void pmcraid_free_sglist(struct pmcraid_sglist *sglist) in pmcraid_free_sglist() argument
3202 sgl_free_order(sglist->scatterlist, sglist->order); in pmcraid_free_sglist()
3203 kfree(sglist); in pmcraid_free_sglist()
3218 struct pmcraid_sglist *sglist; in pmcraid_alloc_sglist() local
3226 sglist = kzalloc(sizeof(struct pmcraid_sglist), GFP_KERNEL); in pmcraid_alloc_sglist()
3227 if (sglist == NULL) in pmcraid_alloc_sglist()
3230 sglist->order = order; in pmcraid_alloc_sglist()
3232 GFP_KERNEL | GFP_DMA | __GFP_ZERO, &sglist->num_sg); in pmcraid_alloc_sglist()
3234 return sglist; in pmcraid_alloc_sglist()
3250 struct pmcraid_sglist *sglist, in pmcraid_copy_sglist() argument
3263 bsize_elem = PAGE_SIZE * (1 << sglist->order); in pmcraid_copy_sglist()
3265 sg = sglist->scatterlist; in pmcraid_copy_sglist()
3487 struct pmcraid_sglist *sglist = NULL; in pmcraid_build_passthrough_ioadls() local
3493 sglist = pmcraid_alloc_sglist(buflen); in pmcraid_build_passthrough_ioadls()
3495 if (!sglist) { in pmcraid_build_passthrough_ioadls()
3500 sglist->num_dma_sg = dma_map_sg(&cmd->drv_inst->pdev->dev, in pmcraid_build_passthrough_ioadls()
3501 sglist->scatterlist, in pmcraid_build_passthrough_ioadls()
3502 sglist->num_sg, direction); in pmcraid_build_passthrough_ioadls()
3504 if (!sglist->num_dma_sg || sglist->num_dma_sg > PMCRAID_MAX_IOADLS) { in pmcraid_build_passthrough_ioadls()
3507 pmcraid_free_sglist(sglist); in pmcraid_build_passthrough_ioadls()
3511 cmd->sglist = sglist; in pmcraid_build_passthrough_ioadls()
3514 ioadl = pmcraid_init_ioadls(cmd, sglist->num_dma_sg); in pmcraid_build_passthrough_ioadls()
3517 for_each_sg(sglist->scatterlist, sg, sglist->num_dma_sg, i) { in pmcraid_build_passthrough_ioadls()
3546 struct pmcraid_sglist *sglist = cmd->sglist; in pmcraid_release_passthrough_ioadls() local
3550 sglist->scatterlist, in pmcraid_release_passthrough_ioadls()
3551 sglist->num_sg, in pmcraid_release_passthrough_ioadls()
3553 pmcraid_free_sglist(sglist); in pmcraid_release_passthrough_ioadls()
3554 cmd->sglist = NULL; in pmcraid_release_passthrough_ioadls()
3704 rc = pmcraid_copy_sglist(cmd->sglist, in pmcraid_ioctl_passthrough()
3802 rc = pmcraid_copy_sglist(cmd->sglist, in pmcraid_ioctl_passthrough()