/Linux-v4.19/lib/ |
D | scatterlist.c | 49 int nents; in sg_nents() local 50 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents() 51 nents++; in sg_nents() 52 return nents; in sg_nents() 72 int nents; in sg_nents_for_len() local 78 for (nents = 0, total = 0; sg; sg = sg_next(sg)) { in sg_nents_for_len() 79 nents++; in sg_nents_for_len() 82 return nents; in sg_nents_for_len() 103 struct scatterlist *sg_last(struct scatterlist *sgl, unsigned int nents) in sg_last() argument 108 for_each_sg(sgl, sg, nents, i) in sg_last() [all …]
|
D | sg_pool.c | 39 static inline unsigned int sg_pool_index(unsigned short nents) in sg_pool_index() argument 43 BUG_ON(nents > SG_CHUNK_SIZE); in sg_pool_index() 45 if (nents <= 8) in sg_pool_index() 48 index = get_count_order(nents) - 3; in sg_pool_index() 53 static void sg_pool_free(struct scatterlist *sgl, unsigned int nents) in sg_pool_free() argument 57 sgp = sg_pools + sg_pool_index(nents); in sg_pool_free() 61 static struct scatterlist *sg_pool_alloc(unsigned int nents, gfp_t gfp_mask) in sg_pool_alloc() argument 65 sgp = sg_pools + sg_pool_index(nents); in sg_pool_alloc() 98 int sg_alloc_table_chained(struct sg_table *table, int nents, in sg_alloc_table_chained() argument 103 BUG_ON(!nents); in sg_alloc_table_chained() [all …]
|
D | sg_split.c | 15 int nents; member 22 static int sg_calculate_split(struct scatterlist *in, int nents, int nb_splits, in sg_calculate_split() argument 34 splitters[i].nents = 0; in sg_calculate_split() 37 for_each_sg(in, sg, nents, i) { in sg_calculate_split() 50 curr->nents++; in sg_calculate_split() 61 curr->nents = 1; in sg_calculate_split() 88 for (j = 0; j < split->nents; j++, out_sg++) { in sg_split_phys() 114 for (j = 0; j < split->nents; j++, out_sg++) { in sg_split_mapped() 170 splitters[i].out_sg = kmalloc_array(splitters[i].nents, in sg_split() 190 out_mapped_nents[i] = splitters[i].nents; in sg_split()
|
D | kfifo.c | 309 int nents, unsigned int len) in setup_sgl_buf() argument 316 if (!nents) in setup_sgl_buf() 336 if (++n == nents || sgl == NULL) in setup_sgl_buf() 348 int nents, unsigned int len, unsigned int off) in setup_sgl() argument 363 n = setup_sgl_buf(sgl, fifo->data + off, nents, l); in setup_sgl() 364 n += setup_sgl_buf(sgl + n, fifo->data, nents - n, len - l); in setup_sgl() 370 struct scatterlist *sgl, int nents, unsigned int len) in __kfifo_dma_in_prepare() argument 378 return setup_sgl(fifo, sgl, nents, len, fifo->in); in __kfifo_dma_in_prepare() 383 struct scatterlist *sgl, int nents, unsigned int len) in __kfifo_dma_out_prepare() argument 391 return setup_sgl(fifo, sgl, nents, len, fifo->out); in __kfifo_dma_out_prepare() [all …]
|
/Linux-v4.19/kernel/dma/ |
D | noncoherent.c | 21 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_noncoherent_sync_sg_for_device() argument 26 for_each_sg(sgl, sg, nents, i) in dma_noncoherent_sync_sg_for_device() 44 int nents, enum dma_data_direction dir, unsigned long attrs) in dma_noncoherent_map_sg() argument 46 nents = dma_direct_map_sg(dev, sgl, nents, dir, attrs); in dma_noncoherent_map_sg() 47 if (nents > 0 && !(attrs & DMA_ATTR_SKIP_CPU_SYNC)) in dma_noncoherent_map_sg() 48 dma_noncoherent_sync_sg_for_device(dev, sgl, nents, dir); in dma_noncoherent_map_sg() 49 return nents; in dma_noncoherent_map_sg() 62 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_noncoherent_sync_sg_for_cpu() argument 67 for_each_sg(sgl, sg, nents, i) in dma_noncoherent_sync_sg_for_cpu() 80 int nents, enum dma_data_direction dir, unsigned long attrs) in dma_noncoherent_unmap_sg() argument [all …]
|
D | virt.c | 38 int nents, enum dma_data_direction dir, in dma_virt_map_sg() argument 44 for_each_sg(sgl, sg, nents, i) { in dma_virt_map_sg() 50 return nents; in dma_virt_map_sg()
|
/Linux-v4.19/samples/kfifo/ |
D | dma-example.c | 27 unsigned int nents; in example_init() local 65 nents = kfifo_dma_in_prepare(&fifo, sg, ARRAY_SIZE(sg), FIFO_SIZE); in example_init() 66 printk(KERN_INFO "DMA sgl entries: %d\n", nents); in example_init() 67 if (!nents) { in example_init() 75 for (i = 0; i < nents; i++) { in example_init() 95 nents = kfifo_dma_out_prepare(&fifo, sg, ARRAY_SIZE(sg), 8); in example_init() 96 printk(KERN_INFO "DMA sgl entries: %d\n", nents); in example_init() 97 if (!nents) { in example_init() 104 for (i = 0; i < nents; i++) { in example_init()
|
/Linux-v4.19/include/linux/ |
D | scatterlist.h | 44 unsigned int nents; /* number of mapped entries */ member 249 unsigned int nents) in sg_init_marker() argument 251 sg_mark_end(&sgl[nents - 1]); in sg_init_marker() 288 void sgl_free_n_order(struct scatterlist *sgl, int nents, int order); 293 size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, 296 size_t sg_copy_from_buffer(struct scatterlist *sgl, unsigned int nents, 298 size_t sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents, 301 size_t sg_pcopy_from_buffer(struct scatterlist *sgl, unsigned int nents, 303 size_t sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents, 305 size_t sg_zero_buffer(struct scatterlist *sgl, unsigned int nents, [all …]
|
D | pci-dma-compat.h | 66 int nents, int direction) in pci_map_sg() argument 68 return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); in pci_map_sg() 73 int nents, int direction) in pci_unmap_sg() argument 75 dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); in pci_unmap_sg()
|
/Linux-v4.19/drivers/crypto/ccree/ |
D | cc_buffer_mgr.c | 35 int nents[MAX_NUM_OF_BUFFERS_IN_MLLI]; member 89 unsigned int nents = 0; in cc_get_sgl_nents() local 93 nents++; in cc_get_sgl_nents() 105 dev_dbg(dev, "nents %d last bytes %d\n", nents, *lbytes); in cc_get_sgl_nents() 106 return nents; in cc_get_sgl_nents() 143 u32 nents, lbytes; in cc_copy_sg_portion() local 145 nents = cc_get_sgl_nents(dev, sg, end, &lbytes, NULL); in cc_copy_sg_portion() 146 sg_copy_buffer(sg, nents, (void *)dest, (end - to_skip + 1), to_skip, in cc_copy_sg_portion() 281 sgl_data->nents[index] = 1; in cc_add_buffer_entry() 294 unsigned int nents, struct scatterlist *sgl, in cc_add_sg_entry() argument [all …]
|
/Linux-v4.19/net/rds/ |
D | ib_fmr.c | 89 unsigned int nents) in rds_ib_map_fmr() argument 101 sg_dma_len = ib_dma_map_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 116 ib_dma_unmap_sg(dev, sg, nents, in rds_ib_map_fmr() 125 ib_dma_unmap_sg(dev, sg, nents, in rds_ib_map_fmr() 138 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 145 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 161 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 171 ibmr->sg_len = nents; in rds_ib_map_fmr() 189 unsigned long nents, in rds_ib_reg_fmr() argument 196 ibmr = rds_ib_alloc_fmr(rds_ibdev, nents); in rds_ib_reg_fmr() [all …]
|
/Linux-v4.19/drivers/parisc/ |
D | ccio-rm-dma.c | 115 static int ccio_map_sg(struct pci_dev *dev, struct scatterlist *sglist, int nents, int direction) in ccio_map_sg() argument 117 int tmp = nents; in ccio_map_sg() 120 while (nents) { in ccio_map_sg() 123 nents--; in ccio_map_sg() 131 static void ccio_unmap_sg(struct pci_dev *dev, struct scatterlist *sglist, int nents, int direction) in ccio_unmap_sg() argument 134 while (nents) { in ccio_unmap_sg() 136 nents--; in ccio_unmap_sg()
|
D | iommu-helpers.h | 15 iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents, in iommu_fill_pdir() argument 30 while (nents-- > 0) { in iommu_fill_pdir() 34 DBG_RUN_SG(" %d : %08lx/%05x %p/%05x\n", nents, in iommu_fill_pdir() 102 struct scatterlist *startsg, int nents, in iommu_coalesce_chunks() argument 114 while (nents > 0) { in iommu_coalesce_chunks() 131 while(--nents > 0) { in iommu_coalesce_chunks()
|
/Linux-v4.19/arch/arm/mm/ |
D | dma-mapping-nommu.c | 138 int nents, enum dma_data_direction dir, in arm_nommu_dma_map_sg() argument 144 for_each_sg(sgl, sg, nents, i) { in arm_nommu_dma_map_sg() 150 return nents; in arm_nommu_dma_map_sg() 154 int nents, enum dma_data_direction dir, in arm_nommu_dma_unmap_sg() argument 160 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_unmap_sg() 177 int nents, enum dma_data_direction dir) in arm_nommu_dma_sync_sg_for_device() argument 182 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_sync_sg_for_device() 187 int nents, enum dma_data_direction dir) in arm_nommu_dma_sync_sg_for_cpu() argument 192 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_sync_sg_for_cpu()
|
/Linux-v4.19/drivers/crypto/cavium/nitrox/ |
D | nitrox_reqmgr.c | 197 int i, nents, ret = 0; in dma_map_inbufs() local 201 nents = sg_nents(req->src); in dma_map_inbufs() 204 sz = roundup((1 + nents), 4) * sizeof(*glist); in dma_map_inbufs() 219 nents = dma_map_sg(dev, req->src, nents, sr->in.dir); in dma_map_inbufs() 220 if (!nents) { in dma_map_inbufs() 232 for_each_sg(req->src, sg, nents, i) { in dma_map_inbufs() 239 sr->in.map_bufs_cnt = (1 + nents); in dma_map_inbufs() 249 dma_unmap_sg(dev, req->src, nents, sr->in.dir); in dma_map_inbufs() 266 int i, nents, map_bufs_cnt, ret = 0; in dma_map_outbufs() local 269 nents = sg_nents(req->dst); in dma_map_outbufs() [all …]
|
/Linux-v4.19/drivers/mmc/core/ |
D | sdio_ops.c | 126 unsigned int nents, left_size, i; in mmc_io_rw_extended() local 155 nents = DIV_ROUND_UP(left_size, seg_size); in mmc_io_rw_extended() 156 if (nents > 1) { in mmc_io_rw_extended() 157 if (sg_alloc_table(&sgtable, nents, GFP_KERNEL)) in mmc_io_rw_extended() 161 data.sg_len = nents; in mmc_io_rw_extended() 179 if (nents > 1) in mmc_io_rw_extended()
|
/Linux-v4.19/drivers/target/iscsi/cxgbit/ |
D | cxgbit_ddp.c | 156 unsigned int nents) in cxgbit_ddp_sgl_check() argument 158 unsigned int last_sgidx = nents - 1; in cxgbit_ddp_sgl_check() 161 for (i = 0; i < nents; i++, sg = sg_next(sg)) { in cxgbit_ddp_sgl_check() 180 unsigned int sgcnt = ttinfo->nents; in cxgbit_ddp_reserve() 187 xferlen, ttinfo->nents); in cxgbit_ddp_reserve() 249 ttinfo->nents = cmd->se_cmd.t_data_nents; in cxgbit_get_r2t_ttt() 254 csk, cmd, cmd->se_cmd.data_length, ttinfo->nents); in cxgbit_get_r2t_ttt() 257 ttinfo->nents = 0; in cxgbit_get_r2t_ttt() 289 ttinfo->nents, DMA_FROM_DEVICE); in cxgbit_release_cmd()
|
/Linux-v4.19/drivers/crypto/mediatek/ |
D | mtk-aes.c | 192 int nents; in mtk_aes_check_aligned() local 197 for (nents = 0; sg; sg = sg_next(sg), ++nents) { in mtk_aes_check_aligned() 205 dma->nents = nents + 1; in mtk_aes_check_aligned() 230 int nents = dma->nents; in mtk_aes_restore_sg() local 235 while (--nents > 0 && sg) in mtk_aes_restore_sg() 281 int nents; in mtk_aes_xmit() local 284 for (nents = 0; nents < slen; ++nents, ssg = sg_next(ssg)) { in mtk_aes_xmit() 289 if (nents == 0) { in mtk_aes_xmit() 304 for (nents = 0; nents < dlen; ++nents, dsg = sg_next(dsg)) { in mtk_aes_xmit() 309 if (nents == 0) in mtk_aes_xmit() [all …]
|
/Linux-v4.19/arch/ia64/hp/common/ |
D | sba_iommu.c | 395 sba_dump_sg( struct ioc *ioc, struct scatterlist *startsg, int nents) in sba_dump_sg() argument 397 while (nents-- > 0) { in sba_dump_sg() 398 printk(KERN_DEBUG " %d : DMA %08lx/%05x CPU %p\n", nents, in sba_dump_sg() 406 sba_check_sg( struct ioc *ioc, struct scatterlist *startsg, int nents) in sba_check_sg() argument 409 int the_nents = nents; in sba_check_sg() 413 sba_dump_sg(NULL, startsg, nents); in sba_check_sg() 1227 int nents) in sba_fill_pdir() argument 1234 while (nents-- > 0) { in sba_fill_pdir() 1241 nents, startsg->dma_address, cnt, in sba_fill_pdir() 1245 nents, startsg->dma_address, cnt, in sba_fill_pdir() [all …]
|
/Linux-v4.19/arch/x86/kernel/ |
D | amd_gart_64.c | 289 static void gart_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, in gart_unmap_sg() argument 295 for_each_sg(sg, s, nents, i) { in gart_unmap_sg() 304 int nents, int dir) in dma_map_sg_nonforce() argument 313 for_each_sg(sg, s, nents, i) { in dma_map_sg_nonforce() 321 nents = 0; in dma_map_sg_nonforce() 331 return nents; in dma_map_sg_nonforce() 390 static int gart_map_sg(struct device *dev, struct scatterlist *sg, int nents, in gart_map_sg() argument 399 if (nents == 0) in gart_map_sg() 413 for_each_sg(sg, s, nents, i) { in gart_map_sg() 453 if (out < nents) { in gart_map_sg() [all …]
|
/Linux-v4.19/drivers/spi/ |
D | spi-ep93xx.c | 272 int i, ret, nents; in ep93xx_spi_dma_prepare() local 312 nents = DIV_ROUND_UP(len, PAGE_SIZE); in ep93xx_spi_dma_prepare() 313 if (nents != sgt->nents) { in ep93xx_spi_dma_prepare() 316 ret = sg_alloc_table(sgt, nents, GFP_KERNEL); in ep93xx_spi_dma_prepare() 322 for_each_sg(sgt->sgl, sg, sgt->nents, i) { in ep93xx_spi_dma_prepare() 342 nents = dma_map_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_prepare() 343 if (!nents) in ep93xx_spi_dma_prepare() 346 txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents, dir, DMA_CTRL_ACK); in ep93xx_spi_dma_prepare() 348 dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_prepare() 377 dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_finish()
|
/Linux-v4.19/arch/hexagon/kernel/ |
D | dma.c | 99 int nents, enum dma_data_direction dir, in hexagon_map_sg() argument 105 WARN_ON(nents == 0 || sg[0].length == 0); in hexagon_map_sg() 107 for_each_sg(sg, s, nents, i) { in hexagon_map_sg() 121 return nents; in hexagon_map_sg()
|
/Linux-v4.19/arch/mips/jazz/ |
D | jazzdma.c | 613 int nents, enum dma_data_direction dir, unsigned long attrs) in jazz_dma_map_sg() argument 618 for_each_sg(sglist, sg, nents, i) { in jazz_dma_map_sg() 628 return nents; in jazz_dma_map_sg() 632 int nents, enum dma_data_direction dir, unsigned long attrs) in jazz_dma_unmap_sg() argument 637 for_each_sg(sglist, sg, nents, i) { in jazz_dma_unmap_sg() 658 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in jazz_dma_sync_sg_for_device() argument 663 for_each_sg(sgl, sg, nents, i) in jazz_dma_sync_sg_for_device() 668 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in jazz_dma_sync_sg_for_cpu() argument 673 for_each_sg(sgl, sg, nents, i) in jazz_dma_sync_sg_for_cpu()
|
/Linux-v4.19/drivers/gpu/drm/i915/selftests/ |
D | scatterlist.c | 50 for_each_sg(pt->st.sgl, sg, pt->st.nents, n) { in expect_pfn_sg() 52 unsigned int npages = npages_fn(n, pt->st.nents, rnd); in expect_pfn_sg() 88 for_each_sg_page(pt->st.sgl, &sgiter, pt->st.nents, 0) { in expect_pfn_sg_page_iter() 258 pt->st.nents = n; in alloc_table() 345 pt.st.nents != prime) { in igt_sg_trim() 347 pt.st.nents, pt.st.orig_nents, prime); in igt_sg_trim()
|
/Linux-v4.19/arch/powerpc/kernel/ |
D | dma.c | 194 int nents, enum dma_data_direction direction, in dma_nommu_map_sg() argument 200 for_each_sg(sgl, sg, nents, i) { in dma_nommu_map_sg() 210 return nents; in dma_nommu_map_sg() 214 int nents, enum dma_data_direction direction, in dma_nommu_unmap_sg() argument 254 struct scatterlist *sgl, int nents, in dma_nommu_sync_sg() argument 260 for_each_sg(sgl, sg, nents, i) in dma_nommu_sync_sg()
|