/Linux-v5.4/lib/ |
D | scatterlist.c | 47 int nents; in sg_nents() local 48 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents() 49 nents++; in sg_nents() 50 return nents; in sg_nents() 70 int nents; in sg_nents_for_len() local 76 for (nents = 0, total = 0; sg; sg = sg_next(sg)) { in sg_nents_for_len() 77 nents++; in sg_nents_for_len() 80 return nents; in sg_nents_for_len() 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() [all …]
|
D | sg_pool.c | 40 static inline unsigned int sg_pool_index(unsigned short nents) in sg_pool_index() argument 44 BUG_ON(nents > SG_CHUNK_SIZE); in sg_pool_index() 46 if (nents <= 8) in sg_pool_index() 49 index = get_count_order(nents) - 3; in sg_pool_index() 54 static void sg_pool_free(struct scatterlist *sgl, unsigned int nents) in sg_pool_free() argument 58 sgp = sg_pools + sg_pool_index(nents); in sg_pool_free() 62 static struct scatterlist *sg_pool_alloc(unsigned int nents, gfp_t gfp_mask) in sg_pool_alloc() argument 66 sgp = sg_pools + sg_pool_index(nents); in sg_pool_alloc() 111 int sg_alloc_table_chained(struct sg_table *table, int nents, in sg_alloc_table_chained() argument 116 BUG_ON(!nents); in sg_alloc_table_chained() [all …]
|
D | sg_split.c | 13 int nents; member 20 static int sg_calculate_split(struct scatterlist *in, int nents, int nb_splits, in sg_calculate_split() argument 32 splitters[i].nents = 0; in sg_calculate_split() 35 for_each_sg(in, sg, nents, i) { in sg_calculate_split() 48 curr->nents++; in sg_calculate_split() 59 curr->nents = 1; in sg_calculate_split() 86 for (j = 0; j < split->nents; j++, out_sg++) { in sg_split_phys() 112 for (j = 0; j < split->nents; j++, out_sg++) { in sg_split_mapped() 168 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 | 296 int nents, unsigned int len) in setup_sgl_buf() argument 303 if (!nents) in setup_sgl_buf() 323 if (++n == nents || sgl == NULL) in setup_sgl_buf() 335 int nents, unsigned int len, unsigned int off) 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() 370 struct scatterlist *sgl, int nents, unsigned int len) in __kfifo_dma_out_prepare() argument 378 return setup_sgl(fifo, sgl, nents, len, fifo->out); in __kfifo_dma_out_prepare() [all …]
|
/Linux-v5.4/samples/kfifo/ |
D | dma-example.c | 25 unsigned int nents; in example_init() local 63 nents = kfifo_dma_in_prepare(&fifo, sg, ARRAY_SIZE(sg), FIFO_SIZE); in example_init() 64 printk(KERN_INFO "DMA sgl entries: %d\n", nents); in example_init() 65 if (!nents) { in example_init() 73 for (i = 0; i < nents; i++) { in example_init() 93 nents = kfifo_dma_out_prepare(&fifo, sg, ARRAY_SIZE(sg), 8); in example_init() 94 printk(KERN_INFO "DMA sgl entries: %d\n", nents); in example_init() 95 if (!nents) { in example_init() 102 for (i = 0; i < nents; i++) { in example_init()
|
/Linux-v5.4/include/linux/ |
D | pci-p2pdma.h | 30 unsigned int *nents, u32 length); 34 int nents, enum dma_data_direction dir, unsigned long attrs); 36 int nents, enum dma_data_direction dir, unsigned long attrs); 75 unsigned int *nents, u32 length) in pci_p2pmem_alloc_sgl() argument 87 struct scatterlist *sg, int nents, enum dma_data_direction dir, in pci_p2pdma_map_sg_attrs() argument 93 struct scatterlist *sg, int nents, enum dma_data_direction dir, in pci_p2pdma_unmap_sg_attrs() argument 123 int nents, enum dma_data_direction dir) in pci_p2pdma_map_sg() argument 125 return pci_p2pdma_map_sg_attrs(dev, sg, nents, dir, 0); in pci_p2pdma_map_sg() 129 struct scatterlist *sg, int nents, enum dma_data_direction dir) in pci_p2pdma_unmap_sg() argument 131 pci_p2pdma_unmap_sg_attrs(dev, sg, nents, dir, 0); in pci_p2pdma_unmap_sg()
|
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() 289 void sgl_free_n_order(struct scatterlist *sgl, int nents, int order); 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, 299 size_t sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents, 302 size_t sg_pcopy_from_buffer(struct scatterlist *sgl, unsigned int nents, 304 size_t sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents, 306 size_t sg_zero_buffer(struct scatterlist *sgl, unsigned int nents, [all …]
|
D | dma-mapping.h | 105 int nents, enum dma_data_direction dir, 108 struct scatterlist *sg, int nents, 124 struct scatterlist *sg, int nents, 127 struct scatterlist *sg, int nents, 206 int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents, 216 struct scatterlist *sgl, int nents, enum dma_data_direction dir); 223 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_device() argument 234 int nents, enum dma_data_direction dir, unsigned long attrs); 238 struct scatterlist *sgl, int nents, enum dma_data_direction dir); 245 struct scatterlist *sgl, int nents, enum dma_data_direction dir, in dma_direct_unmap_sg() argument [all …]
|
/Linux-v5.4/net/rds/ |
D | ib_fmr.c | 100 unsigned int nents) in rds_ib_map_fmr() argument 112 sg_dma_len = ib_dma_map_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 127 ib_dma_unmap_sg(dev, sg, nents, in rds_ib_map_fmr() 136 ib_dma_unmap_sg(dev, sg, nents, in rds_ib_map_fmr() 149 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 156 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 172 ib_dma_unmap_sg(dev, sg, nents, DMA_BIDIRECTIONAL); in rds_ib_map_fmr() 182 ibmr->sg_len = nents; in rds_ib_map_fmr() 200 unsigned long nents, in rds_ib_reg_fmr() argument 207 ibmr = rds_ib_alloc_fmr(rds_ibdev, nents); in rds_ib_reg_fmr() [all …]
|
/Linux-v5.4/arch/arm/mm/ |
D | dma-mapping-nommu.c | 118 int nents, enum dma_data_direction dir, in arm_nommu_dma_map_sg() argument 124 for_each_sg(sgl, sg, nents, i) { in arm_nommu_dma_map_sg() 130 return nents; in arm_nommu_dma_map_sg() 134 int nents, enum dma_data_direction dir, in arm_nommu_dma_unmap_sg() argument 140 for_each_sg(sgl, sg, nents, i) in arm_nommu_dma_unmap_sg() 157 int nents, enum dma_data_direction dir) 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() 167 int nents, enum dma_data_direction dir) 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/hwtracing/intel_th/ |
D | msu-sink.c | 54 unsigned int nents; in msu_sink_alloc_window() local 62 nents = DIV_ROUND_UP(size, PAGE_SIZE); in msu_sink_alloc_window() 64 ret = sg_alloc_table(*sgt, nents, GFP_KERNEL); in msu_sink_alloc_window() 70 for_each_sg((*sgt)->sgl, sg_ptr, nents, i) { in msu_sink_alloc_window() 77 return nents; in msu_sink_alloc_window() 87 for_each_sg(sgt->sgl, sg_ptr, sgt->nents, i) { in msu_sink_free_window()
|
/Linux-v5.4/drivers/crypto/ccree/ |
D | cc_buffer_mgr.c | 35 int nents[MAX_NUM_OF_BUFFERS_IN_MLLI]; member 88 unsigned int nents = 0; in cc_get_sgl_nents() local 91 nents++; in cc_get_sgl_nents() 98 dev_dbg(dev, "nents %d last bytes %d\n", nents, *lbytes); in cc_get_sgl_nents() 99 return nents; in cc_get_sgl_nents() 115 u32 nents; in cc_copy_sg_portion() local 117 nents = sg_nents_for_len(sg, end); in cc_copy_sg_portion() 118 sg_copy_buffer(sg, nents, (void *)dest, (end - to_skip + 1), to_skip, in cc_copy_sg_portion() 256 sgl_data->nents[index] = 1; in cc_add_buffer_entry() 269 unsigned int nents, struct scatterlist *sgl, in cc_add_sg_entry() argument [all …]
|
/Linux-v5.4/drivers/parisc/ |
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-v5.4/drivers/mmc/core/ |
D | sdio_ops.c | 122 unsigned int nents, left_size, i; in mmc_io_rw_extended() local 151 nents = DIV_ROUND_UP(left_size, seg_size); in mmc_io_rw_extended() 152 if (nents > 1) { in mmc_io_rw_extended() 153 if (sg_alloc_table(&sgtable, nents, GFP_KERNEL)) in mmc_io_rw_extended() 157 data.sg_len = nents; in mmc_io_rw_extended() 175 if (nents > 1) in mmc_io_rw_extended()
|
/Linux-v5.4/drivers/crypto/cavium/nitrox/ |
D | nitrox_req.h | 547 static inline void *alloc_req_buf(int nents, int extralen, gfp_t gfp) in alloc_req_buf() argument 551 size = sizeof(struct scatterlist) * nents; in alloc_req_buf() 613 int nents, int ivsize) in alloc_src_req_buf() argument 617 nkreq->src = alloc_req_buf(nents, ivsize, creq->gfp); in alloc_src_req_buf() 635 int nents, int ivsize, in nitrox_creq_set_src_sg() argument 644 sg_init_table(sg, nents); in nitrox_creq_set_src_sg() 659 int nents) in alloc_dst_req_buf() argument 664 nkreq->dst = alloc_req_buf(nents, extralen, creq->gfp); in alloc_dst_req_buf() 693 int nents, int ivsize, in nitrox_creq_set_dst_sg() argument 702 sg_init_table(sg, nents); in nitrox_creq_set_dst_sg()
|
D | nitrox_reqmgr.c | 161 int i, nents, ret = 0; in dma_map_inbufs() local 163 nents = dma_map_sg(dev, req->src, sg_nents(req->src), in dma_map_inbufs() 165 if (!nents) in dma_map_inbufs() 168 for_each_sg(req->src, sg, nents, i) in dma_map_inbufs() 172 sr->in.sgmap_cnt = nents; in dma_map_inbufs() 180 dma_unmap_sg(dev, req->src, nents, DMA_BIDIRECTIONAL); in dma_map_inbufs() 189 int nents, ret = 0; in dma_map_outbufs() local 191 nents = dma_map_sg(dev, req->dst, sg_nents(req->dst), in dma_map_outbufs() 193 if (!nents) in dma_map_outbufs() 197 sr->out.sgmap_cnt = nents; in dma_map_outbufs() [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/ |
D | i915_scatterlist.c | 15 if (orig_st->nents == orig_st->orig_nents) in i915_sg_trim() 18 if (sg_alloc_table(&new_st, orig_st->nents, GFP_KERNEL | __GFP_NOWARN)) in i915_sg_trim() 22 for_each_sg(orig_st->sgl, sg, orig_st->nents, i) { in i915_sg_trim()
|
/Linux-v5.4/drivers/target/iscsi/cxgbit/ |
D | cxgbit_ddp.c | 153 unsigned int nents) in cxgbit_ddp_sgl_check() argument 155 unsigned int last_sgidx = nents - 1; in cxgbit_ddp_sgl_check() 158 for (i = 0; i < nents; i++, sg = sg_next(sg)) { in cxgbit_ddp_sgl_check() 177 unsigned int sgcnt = ttinfo->nents; in cxgbit_ddp_reserve() 184 xferlen, ttinfo->nents); in cxgbit_ddp_reserve() 246 ttinfo->nents = cmd->se_cmd.t_data_nents; in cxgbit_get_r2t_ttt() 251 csk, cmd, cmd->se_cmd.data_length, ttinfo->nents); in cxgbit_get_r2t_ttt() 254 ttinfo->nents = 0; in cxgbit_get_r2t_ttt() 286 ttinfo->nents, DMA_FROM_DEVICE); in cxgbit_unmap_cmd()
|
/Linux-v5.4/drivers/crypto/mediatek/ |
D | mtk-aes.c | 194 int nents; in mtk_aes_check_aligned() local 199 for (nents = 0; sg; sg = sg_next(sg), ++nents) { in mtk_aes_check_aligned() 207 dma->nents = nents + 1; in mtk_aes_check_aligned() 232 int nents = dma->nents; in mtk_aes_restore_sg() local 237 while (--nents > 0 && sg) in mtk_aes_restore_sg() 283 int nents; in mtk_aes_xmit() local 286 for (nents = 0; nents < slen; ++nents, ssg = sg_next(ssg)) { in mtk_aes_xmit() 291 if (nents == 0) { in mtk_aes_xmit() 306 for (nents = 0; nents < dlen; ++nents, dsg = sg_next(dsg)) { in mtk_aes_xmit() 311 if (nents == 0) in mtk_aes_xmit() [all …]
|
/Linux-v5.4/arch/ia64/hp/common/ |
D | sba_iommu.c | 387 sba_dump_sg( struct ioc *ioc, struct scatterlist *startsg, int nents) in sba_dump_sg() argument 389 while (nents-- > 0) { in sba_dump_sg() 390 printk(KERN_DEBUG " %d : DMA %08lx/%05x CPU %p\n", nents, in sba_dump_sg() 398 sba_check_sg( struct ioc *ioc, struct scatterlist *startsg, int nents) in sba_check_sg() argument 401 int the_nents = nents; in sba_check_sg() 405 sba_dump_sg(NULL, startsg, nents); in sba_check_sg() 1201 int nents) in sba_fill_pdir() argument 1208 while (nents-- > 0) { in sba_fill_pdir() 1215 nents, startsg->dma_address, cnt, in sba_fill_pdir() 1219 nents, startsg->dma_address, cnt, in sba_fill_pdir() [all …]
|
/Linux-v5.4/kernel/dma/ |
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()
|
D | direct.c | 239 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_device() argument 244 for_each_sg(sgl, sg, nents, i) { in dma_direct_sync_sg_for_device() 278 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_cpu() argument 283 for_each_sg(sgl, sg, nents, i) { in dma_direct_sync_sg_for_cpu() 313 int nents, enum dma_data_direction dir, unsigned long attrs) in dma_direct_unmap_sg() argument 318 for_each_sg(sgl, sg, nents, i) in dma_direct_unmap_sg() 351 int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents, in dma_direct_map_sg() argument 357 for_each_sg(sgl, sg, nents, i) { in dma_direct_map_sg() 365 return nents; in dma_direct_map_sg()
|
/Linux-v5.4/arch/sparc/mm/ |
D | iommu.c | 244 int nents, enum dma_data_direction dir, unsigned long attrs, in __sbus_iommu_map_sg() argument 250 for_each_sg(sgl, sg, nents, j) { in __sbus_iommu_map_sg() 258 return nents; in __sbus_iommu_map_sg() 262 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_map_sg_gflush() argument 265 return __sbus_iommu_map_sg(dev, sgl, nents, dir, attrs, false); in sbus_iommu_map_sg_gflush() 269 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_map_sg_pflush() argument 271 return __sbus_iommu_map_sg(dev, sgl, nents, dir, attrs, true); in sbus_iommu_map_sg_pflush() 294 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_unmap_sg() argument 299 for_each_sg(sgl, sg, nents, i) { in sbus_iommu_unmap_sg()
|
/Linux-v5.4/drivers/spi/ |
D | spi-ep93xx.c | 281 int i, ret, nents; in ep93xx_spi_dma_prepare() local 321 nents = DIV_ROUND_UP(len, PAGE_SIZE); in ep93xx_spi_dma_prepare() 322 if (nents != sgt->nents) { in ep93xx_spi_dma_prepare() 325 ret = sg_alloc_table(sgt, nents, GFP_KERNEL); in ep93xx_spi_dma_prepare() 331 for_each_sg(sgt->sgl, sg, sgt->nents, i) { in ep93xx_spi_dma_prepare() 351 nents = dma_map_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_prepare() 352 if (!nents) in ep93xx_spi_dma_prepare() 355 txd = dmaengine_prep_slave_sg(chan, sgt->sgl, nents, conf.direction, in ep93xx_spi_dma_prepare() 358 dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_prepare() 387 dma_unmap_sg(chan->device->dev, sgt->sgl, sgt->nents, dir); in ep93xx_spi_dma_finish()
|
/Linux-v5.4/arch/x86/kernel/ |
D | amd_gart_64.c | 279 static void gart_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, in gart_unmap_sg() argument 285 for_each_sg(sg, s, nents, i) { in gart_unmap_sg() 294 int nents, int dir) in dma_map_sg_nonforce() argument 303 for_each_sg(sg, s, nents, i) { in dma_map_sg_nonforce() 311 nents = 0; in dma_map_sg_nonforce() 321 return nents; in dma_map_sg_nonforce() 380 static int gart_map_sg(struct device *dev, struct scatterlist *sg, int nents, in gart_map_sg() argument 389 if (nents == 0) in gart_map_sg() 400 for_each_sg(sg, s, nents, i) { in gart_map_sg() 440 if (out < nents) { in gart_map_sg() [all …]
|