Lines Matching refs:sglist
3195 struct scatterlist *sglist; in pmcraid_build_ioadl() local
3227 scsi_for_each_sg(scsi_cmd, sglist, nseg, i) { in pmcraid_build_ioadl()
3228 ioadl[i].data_len = cpu_to_le32(sg_dma_len(sglist)); in pmcraid_build_ioadl()
3229 ioadl[i].address = cpu_to_le64(sg_dma_address(sglist)); in pmcraid_build_ioadl()
3247 static void pmcraid_free_sglist(struct pmcraid_sglist *sglist) in pmcraid_free_sglist() argument
3251 for (i = 0; i < sglist->num_sg; i++) in pmcraid_free_sglist()
3252 __free_pages(sg_page(&(sglist->scatterlist[i])), in pmcraid_free_sglist()
3253 sglist->order); in pmcraid_free_sglist()
3255 kfree(sglist); in pmcraid_free_sglist()
3270 struct pmcraid_sglist *sglist; in pmcraid_alloc_sglist() local
3289 sglist = kzalloc(sizeof(struct pmcraid_sglist) + in pmcraid_alloc_sglist()
3293 if (sglist == NULL) in pmcraid_alloc_sglist()
3296 scatterlist = sglist->scatterlist; in pmcraid_alloc_sglist()
3298 sglist->order = order; in pmcraid_alloc_sglist()
3299 sglist->num_sg = num_elem; in pmcraid_alloc_sglist()
3307 kfree(sglist); in pmcraid_alloc_sglist()
3316 return sglist; in pmcraid_alloc_sglist()
3332 struct pmcraid_sglist *sglist, in pmcraid_copy_sglist() argument
3345 bsize_elem = PAGE_SIZE * (1 << sglist->order); in pmcraid_copy_sglist()
3347 scatterlist = sglist->scatterlist; in pmcraid_copy_sglist()
3575 struct pmcraid_sglist *sglist = NULL; in pmcraid_build_passthrough_ioadls() local
3581 sglist = pmcraid_alloc_sglist(buflen); in pmcraid_build_passthrough_ioadls()
3583 if (!sglist) { in pmcraid_build_passthrough_ioadls()
3588 sglist->num_dma_sg = pci_map_sg(cmd->drv_inst->pdev, in pmcraid_build_passthrough_ioadls()
3589 sglist->scatterlist, in pmcraid_build_passthrough_ioadls()
3590 sglist->num_sg, direction); in pmcraid_build_passthrough_ioadls()
3592 if (!sglist->num_dma_sg || sglist->num_dma_sg > PMCRAID_MAX_IOADLS) { in pmcraid_build_passthrough_ioadls()
3595 pmcraid_free_sglist(sglist); in pmcraid_build_passthrough_ioadls()
3599 cmd->sglist = sglist; in pmcraid_build_passthrough_ioadls()
3602 ioadl = pmcraid_init_ioadls(cmd, sglist->num_dma_sg); in pmcraid_build_passthrough_ioadls()
3605 for_each_sg(sglist->scatterlist, sg, sglist->num_dma_sg, i) { in pmcraid_build_passthrough_ioadls()
3634 struct pmcraid_sglist *sglist = cmd->sglist; in pmcraid_release_passthrough_ioadls() local
3638 sglist->scatterlist, in pmcraid_release_passthrough_ioadls()
3639 sglist->num_sg, in pmcraid_release_passthrough_ioadls()
3641 pmcraid_free_sglist(sglist); in pmcraid_release_passthrough_ioadls()
3642 cmd->sglist = NULL; in pmcraid_release_passthrough_ioadls()
3806 rc = pmcraid_copy_sglist(cmd->sglist, in pmcraid_ioctl_passthrough()
3904 rc = pmcraid_copy_sglist(cmd->sglist, in pmcraid_ioctl_passthrough()