Lines Matching refs:sglist
3741 struct ipr_sglist *sglist; in ipr_alloc_ucode_buffer() local
3761 sglist = kzalloc(sizeof(struct ipr_sglist) + in ipr_alloc_ucode_buffer()
3765 if (sglist == NULL) { in ipr_alloc_ucode_buffer()
3770 scatterlist = sglist->scatterlist; in ipr_alloc_ucode_buffer()
3773 sglist->order = order; in ipr_alloc_ucode_buffer()
3774 sglist->num_sg = num_elem; in ipr_alloc_ucode_buffer()
3785 kfree(sglist); in ipr_alloc_ucode_buffer()
3792 return sglist; in ipr_alloc_ucode_buffer()
3805 static void ipr_free_ucode_buffer(struct ipr_sglist *sglist) in ipr_free_ucode_buffer() argument
3809 for (i = 0; i < sglist->num_sg; i++) in ipr_free_ucode_buffer()
3810 __free_pages(sg_page(&sglist->scatterlist[i]), sglist->order); in ipr_free_ucode_buffer()
3812 kfree(sglist); in ipr_free_ucode_buffer()
3827 static int ipr_copy_ucode_buffer(struct ipr_sglist *sglist, in ipr_copy_ucode_buffer() argument
3835 bsize_elem = PAGE_SIZE * (1 << sglist->order); in ipr_copy_ucode_buffer()
3837 scatterlist = sglist->scatterlist; in ipr_copy_ucode_buffer()
3864 sglist->buffer_len = len; in ipr_copy_ucode_buffer()
3877 struct ipr_sglist *sglist) in ipr_build_ucode_ioadl64() argument
3881 struct scatterlist *scatterlist = sglist->scatterlist; in ipr_build_ucode_ioadl64()
3884 ipr_cmd->dma_use_sg = sglist->num_dma_sg; in ipr_build_ucode_ioadl64()
3886 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl64()
3908 struct ipr_sglist *sglist) in ipr_build_ucode_ioadl() argument
3912 struct scatterlist *scatterlist = sglist->scatterlist; in ipr_build_ucode_ioadl()
3915 ipr_cmd->dma_use_sg = sglist->num_dma_sg; in ipr_build_ucode_ioadl()
3917 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl()
3944 struct ipr_sglist *sglist) in ipr_update_ioa_ucode() argument
3962 sglist->num_dma_sg = dma_map_sg(&ioa_cfg->pdev->dev, in ipr_update_ioa_ucode()
3963 sglist->scatterlist, sglist->num_sg, in ipr_update_ioa_ucode()
3966 if (!sglist->num_dma_sg) { in ipr_update_ioa_ucode()
3973 ioa_cfg->ucode_sglist = sglist; in ipr_update_ioa_ucode()
4003 struct ipr_sglist *sglist; in ipr_store_update_fw() local
4027 sglist = ipr_alloc_ucode_buffer(dnld_size); in ipr_store_update_fw()
4029 if (!sglist) { in ipr_store_update_fw()
4035 result = ipr_copy_ucode_buffer(sglist, src, dnld_size); in ipr_store_update_fw()
4045 result = ipr_update_ioa_ucode(ioa_cfg, sglist); in ipr_store_update_fw()
4050 ipr_free_ucode_buffer(sglist); in ipr_store_update_fw()
8857 struct ipr_sglist *sglist = ioa_cfg->ucode_sglist; in ipr_reset_ucode_download_done() local
8859 dma_unmap_sg(&ioa_cfg->pdev->dev, sglist->scatterlist, in ipr_reset_ucode_download_done()
8860 sglist->num_sg, DMA_TO_DEVICE); in ipr_reset_ucode_download_done()
8879 struct ipr_sglist *sglist = ioa_cfg->ucode_sglist; in ipr_reset_ucode_download() local
8884 if (!sglist) in ipr_reset_ucode_download()
8891 ipr_cmd->ioarcb.cmd_pkt.cdb[6] = (sglist->buffer_len & 0xff0000) >> 16; in ipr_reset_ucode_download()
8892 ipr_cmd->ioarcb.cmd_pkt.cdb[7] = (sglist->buffer_len & 0x00ff00) >> 8; in ipr_reset_ucode_download()
8893 ipr_cmd->ioarcb.cmd_pkt.cdb[8] = sglist->buffer_len & 0x0000ff; in ipr_reset_ucode_download()
8896 ipr_build_ucode_ioadl64(ipr_cmd, sglist); in ipr_reset_ucode_download()
8898 ipr_build_ucode_ioadl(ipr_cmd, sglist); in ipr_reset_ucode_download()