Lines Matching refs:sglist
3740 struct ipr_sglist *sglist; in ipr_alloc_ucode_buffer() local
3760 sglist = kzalloc(sizeof(struct ipr_sglist) + in ipr_alloc_ucode_buffer()
3764 if (sglist == NULL) { in ipr_alloc_ucode_buffer()
3769 scatterlist = sglist->scatterlist; in ipr_alloc_ucode_buffer()
3772 sglist->order = order; in ipr_alloc_ucode_buffer()
3773 sglist->num_sg = num_elem; in ipr_alloc_ucode_buffer()
3784 kfree(sglist); in ipr_alloc_ucode_buffer()
3791 return sglist; in ipr_alloc_ucode_buffer()
3804 static void ipr_free_ucode_buffer(struct ipr_sglist *sglist) in ipr_free_ucode_buffer() argument
3808 for (i = 0; i < sglist->num_sg; i++) in ipr_free_ucode_buffer()
3809 __free_pages(sg_page(&sglist->scatterlist[i]), sglist->order); in ipr_free_ucode_buffer()
3811 kfree(sglist); in ipr_free_ucode_buffer()
3826 static int ipr_copy_ucode_buffer(struct ipr_sglist *sglist, in ipr_copy_ucode_buffer() argument
3834 bsize_elem = PAGE_SIZE * (1 << sglist->order); in ipr_copy_ucode_buffer()
3836 scatterlist = sglist->scatterlist; in ipr_copy_ucode_buffer()
3863 sglist->buffer_len = len; in ipr_copy_ucode_buffer()
3876 struct ipr_sglist *sglist) in ipr_build_ucode_ioadl64() argument
3880 struct scatterlist *scatterlist = sglist->scatterlist; in ipr_build_ucode_ioadl64()
3883 ipr_cmd->dma_use_sg = sglist->num_dma_sg; in ipr_build_ucode_ioadl64()
3885 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl64()
3907 struct ipr_sglist *sglist) in ipr_build_ucode_ioadl() argument
3911 struct scatterlist *scatterlist = sglist->scatterlist; in ipr_build_ucode_ioadl()
3914 ipr_cmd->dma_use_sg = sglist->num_dma_sg; in ipr_build_ucode_ioadl()
3916 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len); in ipr_build_ucode_ioadl()
3943 struct ipr_sglist *sglist) in ipr_update_ioa_ucode() argument
3961 sglist->num_dma_sg = dma_map_sg(&ioa_cfg->pdev->dev, in ipr_update_ioa_ucode()
3962 sglist->scatterlist, sglist->num_sg, in ipr_update_ioa_ucode()
3965 if (!sglist->num_dma_sg) { in ipr_update_ioa_ucode()
3972 ioa_cfg->ucode_sglist = sglist; in ipr_update_ioa_ucode()
4002 struct ipr_sglist *sglist; in ipr_store_update_fw() local
4022 sglist = ipr_alloc_ucode_buffer(dnld_size); in ipr_store_update_fw()
4024 if (!sglist) { in ipr_store_update_fw()
4030 result = ipr_copy_ucode_buffer(sglist, src, dnld_size); in ipr_store_update_fw()
4040 result = ipr_update_ioa_ucode(ioa_cfg, sglist); in ipr_store_update_fw()
4045 ipr_free_ucode_buffer(sglist); in ipr_store_update_fw()
8728 struct ipr_sglist *sglist = ioa_cfg->ucode_sglist; in ipr_reset_ucode_download_done() local
8730 dma_unmap_sg(&ioa_cfg->pdev->dev, sglist->scatterlist, in ipr_reset_ucode_download_done()
8731 sglist->num_sg, DMA_TO_DEVICE); in ipr_reset_ucode_download_done()
8750 struct ipr_sglist *sglist = ioa_cfg->ucode_sglist; in ipr_reset_ucode_download() local
8755 if (!sglist) in ipr_reset_ucode_download()
8762 ipr_cmd->ioarcb.cmd_pkt.cdb[6] = (sglist->buffer_len & 0xff0000) >> 16; in ipr_reset_ucode_download()
8763 ipr_cmd->ioarcb.cmd_pkt.cdb[7] = (sglist->buffer_len & 0x00ff00) >> 8; in ipr_reset_ucode_download()
8764 ipr_cmd->ioarcb.cmd_pkt.cdb[8] = sglist->buffer_len & 0x0000ff; in ipr_reset_ucode_download()
8767 ipr_build_ucode_ioadl64(ipr_cmd, sglist); in ipr_reset_ucode_download()
8769 ipr_build_ucode_ioadl(ipr_cmd, sglist); in ipr_reset_ucode_download()