/Linux-v5.4/drivers/misc/genwqe/ |
D | card_utils.c | 288 int genwqe_alloc_sync_sgl(struct genwqe_dev *cd, struct genwqe_sgl *sgl, in genwqe_alloc_sync_sgl() argument 294 sgl->fpage_offs = offset_in_page((unsigned long)user_addr); in genwqe_alloc_sync_sgl() 295 sgl->fpage_size = min_t(size_t, PAGE_SIZE-sgl->fpage_offs, user_size); in genwqe_alloc_sync_sgl() 296 sgl->nr_pages = DIV_ROUND_UP(sgl->fpage_offs + user_size, PAGE_SIZE); in genwqe_alloc_sync_sgl() 297 sgl->lpage_size = (user_size - sgl->fpage_size) % PAGE_SIZE; in genwqe_alloc_sync_sgl() 300 __func__, user_addr, user_size, sgl->nr_pages, in genwqe_alloc_sync_sgl() 301 sgl->fpage_offs, sgl->fpage_size, sgl->lpage_size); in genwqe_alloc_sync_sgl() 303 sgl->user_addr = user_addr; in genwqe_alloc_sync_sgl() 304 sgl->user_size = user_size; in genwqe_alloc_sync_sgl() 305 sgl->write = write; in genwqe_alloc_sync_sgl() [all …]
|
/Linux-v5.4/lib/ |
D | scatterlist.c | 101 struct scatterlist *sg_last(struct scatterlist *sgl, unsigned int nents) in sg_last() argument 106 for_each_sg(sgl, sg, nents, i) in sg_last() 124 void sg_init_table(struct scatterlist *sgl, unsigned int nents) in sg_init_table() argument 126 memset(sgl, 0, sizeof(*sgl) * nents); in sg_init_table() 127 sg_init_marker(sgl, nents); in sg_init_table() 195 struct scatterlist *sgl, *next; in __sg_free_table() local 198 if (unlikely(!table->sgl)) in __sg_free_table() 201 sgl = table->sgl; in __sg_free_table() 213 next = sg_chain_ptr(&sgl[curr_max_ents - 1]); in __sg_free_table() 225 free_fn(sgl, alloc_size); in __sg_free_table() [all …]
|
D | kfifo.c | 295 static int setup_sgl_buf(struct scatterlist *sgl, void *buf, in setup_sgl_buf() argument 321 sg_set_page(sgl, page, l - off, off); in setup_sgl_buf() 322 sgl = sg_next(sgl); in setup_sgl_buf() 323 if (++n == nents || sgl == NULL) in setup_sgl_buf() 330 sg_set_page(sgl, page, len, off); in setup_sgl_buf() 334 static unsigned int setup_sgl(struct __kfifo *fifo, struct scatterlist *sgl, in setup_sgl() argument 350 n = setup_sgl_buf(sgl, fifo->data + off, nents, l); in setup_sgl() 351 n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l); in setup_sgl() 357 struct scatterlist *sgl, int nents, unsigned int len) in __kfifo_dma_in_prepare() argument 365 return setup_sgl(fifo, sgl, nents, len, fifo->in); in __kfifo_dma_in_prepare() [all …]
|
/Linux-v5.4/drivers/crypto/hisilicon/ |
D | sgl.c | 80 pool->sgl = dma_alloc_coherent(dev, size, &pool->sgl_dma, GFP_KERNEL); in hisi_acc_create_sgl_pool() 81 if (!pool->sgl) in hisi_acc_create_sgl_pool() 101 dma_free_coherent(dev, pool->size, pool->sgl, pool->sgl_dma); in hisi_acc_free_sgl_pool() 109 if (!pool || !hw_sgl_dma || index >= pool->count || !pool->sgl) in acc_get_sgl() 113 return (void *)pool->sgl + pool->sgl_size * index; in acc_get_sgl() 118 static void sg_map_to_hw_sg(struct scatterlist *sgl, in sg_map_to_hw_sg() argument 121 hw_sge->buf = sgl->dma_address; in sg_map_to_hw_sg() 122 hw_sge->len = sgl->dma_length; in sg_map_to_hw_sg() 148 struct scatterlist *sgl, in hisi_acc_sg_buf_map_to_hw_sgl() argument 156 int sg_n = sg_nents(sgl); in hisi_acc_sg_buf_map_to_hw_sgl() [all …]
|
D | sgl.h | 7 struct hisi_acc_hw_sgl *sgl; member 16 struct scatterlist *sgl, 19 void hisi_acc_sg_buf_unmap(struct device *dev, struct scatterlist *sgl,
|
/Linux-v5.4/crypto/ |
D | af_alg.c | 391 int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len) in af_alg_make_sg() argument 397 n = iov_iter_get_pages(iter, sgl->pages, len, ALG_MAX_PAGES, &off); in af_alg_make_sg() 405 sg_init_table(sgl->sg, npages + 1); in af_alg_make_sg() 410 sg_set_page(sgl->sg + i, sgl->pages[i], plen, off); in af_alg_make_sg() 415 sg_mark_end(sgl->sg + npages - 1); in af_alg_make_sg() 416 sgl->npages = npages; in af_alg_make_sg() 429 void af_alg_free_sg(struct af_alg_sgl *sgl) in af_alg_free_sg() argument 433 for (i = 0; i < sgl->npages; i++) in af_alg_free_sg() 434 put_page(sgl->pages[i]); in af_alg_free_sg() 488 struct af_alg_tsgl *sgl; in af_alg_alloc_tsgl() local [all …]
|
/Linux-v5.4/include/linux/ |
D | scatterlist.h | 43 struct scatterlist *sgl; /* the list */ member 165 struct scatterlist *sgl) in sg_chain() argument 177 prv[prv_nents - 1].page_link = ((unsigned long) sgl | SG_CHAIN) in sg_chain() 248 static inline void sg_init_marker(struct scatterlist *sgl, in sg_init_marker() argument 251 sg_mark_end(&sgl[nents - 1]); in sg_init_marker() 289 void sgl_free_n_order(struct scatterlist *sgl, int nents, int order); 290 void sgl_free_order(struct scatterlist *sgl, int order); 291 void sgl_free(struct scatterlist *sgl); 294 size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, 297 size_t sg_copy_from_buffer(struct scatterlist *sgl, unsigned int nents, [all …]
|
/Linux-v5.4/drivers/target/iscsi/cxgbit/ |
D | cxgbit_ddp.c | 133 struct scatterlist *sg = ttinfo->sgl; in cxgbit_ddp_set_map() 176 struct scatterlist *sgl = ttinfo->sgl; in cxgbit_ddp_reserve() local 178 unsigned int sg_offset = sgl->offset; in cxgbit_ddp_reserve() 188 if (cxgbit_ddp_sgl_check(sgl, sgcnt) < 0) in cxgbit_ddp_reserve() 191 ttinfo->nr_pages = (xferlen + sgl->offset + in cxgbit_ddp_reserve() 203 sgl->offset = 0; in cxgbit_ddp_reserve() 204 ret = dma_map_sg(&ppm->pdev->dev, sgl, sgcnt, DMA_FROM_DEVICE); in cxgbit_ddp_reserve() 205 sgl->offset = sg_offset; in cxgbit_ddp_reserve() 212 cxgbi_ppm_make_ppod_hdr(ppm, ttinfo->tag, csk->tid, sgl->offset, in cxgbit_ddp_reserve() 218 dma_unmap_sg(&ppm->pdev->dev, sgl, sgcnt, DMA_FROM_DEVICE); in cxgbit_ddp_reserve() [all …]
|
/Linux-v5.4/tools/virtio/linux/ |
D | scatterlist.h | 91 struct scatterlist *sgl) in sg_chain() argument 103 prv[prv_nents - 1].page_link = ((unsigned long) sgl | 0x01) & ~0x02; in sg_chain() 149 static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) in sg_init_table() argument 151 memset(sgl, 0, sizeof(*sgl) * nents); in sg_init_table() 152 sg_mark_end(&sgl[nents - 1]); in sg_init_table()
|
/Linux-v5.4/drivers/scsi/lpfc/ |
D | lpfc_scsi.c | 126 struct sli4_sge *sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl; in lpfc_sli4_set_rsp_sgl_last() local 127 if (sgl) { in lpfc_sli4_set_rsp_sgl_last() 128 sgl += 1; in lpfc_sli4_set_rsp_sgl_last() 129 sgl->word2 = le32_to_cpu(sgl->word2); in lpfc_sli4_set_rsp_sgl_last() 130 bf_set(lpfc_sli4_sge_last, sgl, 1); in lpfc_sli4_set_rsp_sgl_last() 131 sgl->word2 = cpu_to_le32(sgl->word2); in lpfc_sli4_set_rsp_sgl_last() 635 struct sli4_sge *sgl; in lpfc_get_scsi_buf_s4() local 685 sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl; in lpfc_get_scsi_buf_s4() 687 sgl->addr_hi = cpu_to_le32(putPaddrHigh(pdma_phys_fcp_cmd)); in lpfc_get_scsi_buf_s4() 688 sgl->addr_lo = cpu_to_le32(putPaddrLow(pdma_phys_fcp_cmd)); in lpfc_get_scsi_buf_s4() [all …]
|
D | lpfc_nvme.c | 770 struct sli4_sge *sgl; in lpfc_nvme_adj_fcp_sgls() local 789 sgl = lpfc_ncmd->dma_sgl; in lpfc_nvme_adj_fcp_sgls() 790 sgl->sge_len = cpu_to_le32(nCmd->cmdlen); in lpfc_nvme_adj_fcp_sgls() 792 sgl->addr_hi = 0; in lpfc_nvme_adj_fcp_sgls() 793 sgl->addr_lo = 0; in lpfc_nvme_adj_fcp_sgls() 832 sgl->addr_hi = cpu_to_le32(putPaddrHigh(nCmd->cmddma)); in lpfc_nvme_adj_fcp_sgls() 833 sgl->addr_lo = cpu_to_le32(putPaddrLow(nCmd->cmddma)); in lpfc_nvme_adj_fcp_sgls() 838 wqe->generic.bde.addrHigh = sgl->addr_hi; in lpfc_nvme_adj_fcp_sgls() 839 wqe->generic.bde.addrLow = sgl->addr_lo; in lpfc_nvme_adj_fcp_sgls() 846 sgl++; in lpfc_nvme_adj_fcp_sgls() [all …]
|
/Linux-v5.4/arch/arm/mm/ |
D | dma-mapping-nommu.c | 117 static int arm_nommu_dma_map_sg(struct device *dev, struct scatterlist *sgl, in arm_nommu_dma_map_sg() argument 124 for_each_sg(sgl, sg, nents, i) { in arm_nommu_dma_map_sg() 133 static void arm_nommu_dma_unmap_sg(struct device *dev, struct scatterlist *sgl, in arm_nommu_dma_unmap_sg() argument 140 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_unmap_sg() 156 static void arm_nommu_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sgl, in arm_nommu_dma_sync_sg_for_device() argument 162 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_sync_sg_for_device() 166 static void arm_nommu_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sgl, in arm_nommu_dma_sync_sg_for_cpu() argument 172 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_sync_sg_for_cpu()
|
/Linux-v5.4/drivers/gpu/drm/v3d/ |
D | v3d_mmu.c | 94 struct scatterlist *sgl; in v3d_mmu_insert_ptes() local 96 for_each_sg(shmem_obj->sgt->sgl, sgl, shmem_obj->sgt->nents, count) { in v3d_mmu_insert_ptes() 97 u32 page_address = sg_dma_address(sgl) >> V3D_MMU_PAGE_SHIFT; in v3d_mmu_insert_ptes() 101 BUG_ON(page_address + (sg_dma_len(sgl) >> V3D_MMU_PAGE_SHIFT) >= in v3d_mmu_insert_ptes() 104 for (i = 0; i < sg_dma_len(sgl) >> V3D_MMU_PAGE_SHIFT; i++) in v3d_mmu_insert_ptes()
|
/Linux-v5.4/drivers/spi/ |
D | spi-bcm2835.c | 484 if (bs->tx_buf && !sg_is_last(&tfr->tx_sg.sgl[0])) in bcm2835_spi_transfer_prologue() 485 bs->tx_prologue = sg_dma_len(&tfr->tx_sg.sgl[0]) & 3; in bcm2835_spi_transfer_prologue() 487 if (bs->rx_buf && !sg_is_last(&tfr->rx_sg.sgl[0])) { in bcm2835_spi_transfer_prologue() 488 bs->rx_prologue = sg_dma_len(&tfr->rx_sg.sgl[0]) & 3; in bcm2835_spi_transfer_prologue() 491 if (!bs->tx_buf || sg_is_last(&tfr->tx_sg.sgl[0])) { in bcm2835_spi_transfer_prologue() 496 !(sg_dma_len(&tfr->tx_sg.sgl[0]) & ~3); in bcm2835_spi_transfer_prologue() 518 sg_dma_address(&tfr->rx_sg.sgl[0]), in bcm2835_spi_transfer_prologue() 521 sg_dma_address(&tfr->rx_sg.sgl[0]) += bs->rx_prologue; in bcm2835_spi_transfer_prologue() 522 sg_dma_len(&tfr->rx_sg.sgl[0]) -= bs->rx_prologue; in bcm2835_spi_transfer_prologue() 544 sg_dma_address(&tfr->tx_sg.sgl[0]) += bs->tx_prologue; in bcm2835_spi_transfer_prologue() [all …]
|
/Linux-v5.4/drivers/media/platform/ |
D | m2m-deinterlace.c | 236 ctx->xt->sgl[0].size = s_width; in deinterlace_issue_dma() 237 ctx->xt->sgl[0].icg = s_width; in deinterlace_issue_dma() 243 ctx->xt->sgl[0].size = s_width; in deinterlace_issue_dma() 244 ctx->xt->sgl[0].icg = s_width; in deinterlace_issue_dma() 250 ctx->xt->sgl[0].size = s_width / 2; in deinterlace_issue_dma() 251 ctx->xt->sgl[0].icg = s_width / 2; in deinterlace_issue_dma() 257 ctx->xt->sgl[0].size = s_width / 2; in deinterlace_issue_dma() 258 ctx->xt->sgl[0].icg = s_width / 2; in deinterlace_issue_dma() 264 ctx->xt->sgl[0].size = s_width / 2; in deinterlace_issue_dma() 265 ctx->xt->sgl[0].icg = s_width / 2; in deinterlace_issue_dma() [all …]
|
/Linux-v5.4/drivers/media/platform/rockchip/rga/ |
D | rga-buf.c | 118 struct scatterlist *sgl; in rga_buf_map() local 131 for_each_sg(sgt->sgl, sgl, sgt->nents, i) { in rga_buf_map() 132 len = sg_dma_len(sgl) >> PAGE_SHIFT; in rga_buf_map() 133 address = sg_phys(sgl); in rga_buf_map()
|
/Linux-v5.4/drivers/media/common/videobuf2/ |
D | videobuf2-dma-contig.c | 52 dma_addr_t expected = sg_dma_address(sgt->sgl); in vb2_dc_get_contiguous_size() 56 for_each_sg(sgt->sgl, s, sgt->nents, i) { in vb2_dc_get_contiguous_size() 102 dma_sync_sg_for_device(buf->dev, sgt->sgl, sgt->orig_nents, in vb2_dc_prepare() 115 dma_sync_sg_for_cpu(buf->dev, sgt->sgl, sgt->orig_nents, buf->dma_dir); in vb2_dc_finish() 243 rd = buf->sgt_base->sgl; in vb2_dc_dmabuf_ops_attach() 244 wr = sgt->sgl; in vb2_dc_dmabuf_ops_attach() 276 dma_unmap_sg_attrs(db_attach->dev, sgt->sgl, sgt->orig_nents, in vb2_dc_dmabuf_ops_detach() 302 dma_unmap_sg_attrs(db_attach->dev, sgt->sgl, sgt->orig_nents, in vb2_dc_dmabuf_ops_map() 311 sgt->nents = dma_map_sg_attrs(db_attach->dev, sgt->sgl, sgt->orig_nents, in vb2_dc_dmabuf_ops_map() 434 dma_unmap_sg_attrs(buf->dev, sgt->sgl, sgt->orig_nents, in vb2_dc_put_userptr() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/ |
D | i915_scatterlist.h | 27 } __sgt_iter(struct scatterlist *sgl, bool dma) { in __sgt_iter() argument 28 struct sgt_iter s = { .sgp = sgl }; in __sgt_iter() 77 for ((__iter) = __sgt_iter((__sgt)->sgl, true); \ 89 for ((__iter) = __sgt_iter((__sgt)->sgl, false); \
|
/Linux-v5.4/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe_fcoe.c | 28 ddp->sgl = NULL; in ixgbe_fcoe_clear_ddp() 109 if (ddp->sgl) in ixgbe_fcoe_ddp_put() 110 dma_unmap_sg(&adapter->pdev->dev, ddp->sgl, ddp->sgc, in ixgbe_fcoe_ddp_put() 133 struct scatterlist *sgl, unsigned int sgc, in ixgbe_fcoe_ddp_setup() argument 152 if (!netdev || !sgl) in ixgbe_fcoe_ddp_setup() 168 if (ddp->sgl) { in ixgbe_fcoe_ddp_setup() 170 xid, ddp->sgl, ddp->sgc); in ixgbe_fcoe_ddp_setup() 188 dmacount = dma_map_sg(&adapter->pdev->dev, sgl, sgc, DMA_FROM_DEVICE); in ixgbe_fcoe_ddp_setup() 201 ddp->sgl = sgl; in ixgbe_fcoe_ddp_setup() 205 for_each_sg(sgl, sg, dmacount, i) { in ixgbe_fcoe_ddp_setup() [all …]
|
/Linux-v5.4/drivers/xen/ |
D | swiotlb-xen.c | 466 xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sgl, int nelems, in xen_swiotlb_unmap_sg() argument 474 for_each_sg(sgl, sg, nelems, i) in xen_swiotlb_unmap_sg() 481 xen_swiotlb_map_sg(struct device *dev, struct scatterlist *sgl, int nelems, in xen_swiotlb_map_sg() argument 489 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_map_sg() 499 xen_swiotlb_unmap_sg(dev, sgl, i, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in xen_swiotlb_map_sg() 500 sg_dma_len(sgl) = 0; in xen_swiotlb_map_sg() 505 xen_swiotlb_sync_sg_for_cpu(struct device *dev, struct scatterlist *sgl, in xen_swiotlb_sync_sg_for_cpu() argument 511 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_sync_sg_for_cpu() 518 xen_swiotlb_sync_sg_for_device(struct device *dev, struct scatterlist *sgl, in xen_swiotlb_sync_sg_for_device() argument 524 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_sync_sg_for_device()
|
/Linux-v5.4/drivers/gpu/drm/armada/ |
D | armada_gem.c | 398 for_each_sg(sgt->sgl, sg, count, i) { in armada_gem_prime_map_dma_buf() 410 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) { in armada_gem_prime_map_dma_buf() 419 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0); in armada_gem_prime_map_dma_buf() 421 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in armada_gem_prime_map_dma_buf() 427 sg_dma_address(sgt->sgl) = dobj->dev_addr; in armada_gem_prime_map_dma_buf() 428 sg_dma_len(sgt->sgl) = dobj->obj.size; in armada_gem_prime_map_dma_buf() 435 for_each_sg(sgt->sgl, sg, num, i) in armada_gem_prime_map_dma_buf() 452 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in armada_gem_prime_unmap_dma_buf() 456 for_each_sg(sgt->sgl, sg, sgt->nents, i) in armada_gem_prime_unmap_dma_buf() 557 if (sg_dma_len(dobj->sgt->sgl) < dobj->obj.size) { in armada_gem_map_import() [all …]
|
/Linux-v5.4/drivers/infiniband/core/ |
D | umem.c | 52 ib_dma_unmap_sg(dev, umem->sg_head.sgl, umem->sg_nents, in __ib_umem_release() 55 for_each_sg_page(umem->sg_head.sgl, &sg_iter, umem->sg_nents, 0) { in __ib_umem_release() 164 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i) { in ib_umem_find_best_pgsz() 271 sg = umem->sg_head.sgl; in ib_umem_get() 298 umem->sg_head.sgl, in ib_umem_get() 350 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i) in ib_umem_page_count() 379 ret = sg_pcopy_to_buffer(umem->sg_head.sgl, umem->sg_nents, dst, length, in ib_umem_copy_from()
|
/Linux-v5.4/drivers/scsi/esas2r/ |
D | esas2r_io.c | 224 struct esas2r_mem_desc *sgl; in esas2r_build_sg_list_sge() local 231 sgl = esas2r_alloc_sgl(a); in esas2r_build_sg_list_sge() 233 if (unlikely(sgl == NULL)) in esas2r_build_sg_list_sge() 244 memcpy(sgl->virt_addr, sgc->sge.a64.last, sgelen); in esas2r_build_sg_list_sge() 248 (struct atto_vda_sge *)((u8 *)sgl->virt_addr + in esas2r_build_sg_list_sge() 253 (struct atto_vda_sge *)((u8 *)sgl->virt_addr in esas2r_build_sg_list_sge() 260 cpu_to_le64(sgl->phys_addr); in esas2r_build_sg_list_sge() 302 list_add(&sgl->next_desc, &rq->sg_table_head); in esas2r_build_sg_list_sge() 376 struct esas2r_mem_desc *sgl; in esas2r_build_prd_iblk() local 449 sgl = esas2r_alloc_sgl(a); in esas2r_build_prd_iblk() [all …]
|
/Linux-v5.4/drivers/scsi/qedf/ |
D | drv_scsi_fw_funcs.c | 34 val = cpu_to_le32(sgl_task_params->sgl[sge_index].sge_addr.lo); in init_scsi_sgl_context() 36 val = cpu_to_le32(sgl_task_params->sgl[sge_index].sge_addr.hi); in init_scsi_sgl_context() 38 val = cpu_to_le32(sgl_task_params->sgl[sge_index].sge_len); in init_scsi_sgl_context()
|
/Linux-v5.4/drivers/gpu/drm/i915/gem/selftests/ |
D | huge_gem_object.c | 17 for (sg = pages->sgl; sg && nreal--; sg = __sg_next(sg)) in huge_free_pages() 42 sg = pages->sgl; in huge_get_pages() 56 for (end = sg, src = pages->sgl; sg; sg = __sg_next(sg)) { in huge_get_pages() 60 src = pages->sgl; in huge_get_pages()
|