| /linux/lib/ |
| H A 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() 112 int sg_alloc_table_chained(struct sg_table *table, int nents, in sg_alloc_table_chained() argument 117 BUG_ON(!nents); in sg_alloc_table_chained() [all …]
|
| H A D | scatterlist.c | 27 int nents; in sg_nents() local 28 for (nents = 0; sg; sg = sg_next(sg)) in sg_nents() 29 nents++; in sg_nents() 30 return nents; in sg_nents() 50 int nents; in sg_nents_for_len() local 56 for (nents = 0, total = 0; sg; sg = sg_next(sg)) { in sg_nents_for_len() 57 nents++; in sg_nents_for_len() 60 return nents; in sg_nents_for_len() 85 int i, nents = 0; in sg_nents_for_dma() local 88 nents += DIV_ROUND_UP(sg_dma_len(sg), len); in sg_nents_for_dma() [all …]
|
| H A 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() 110 for (j = 0; j < split->nents; j++, out_sg++) { in sg_split_mapped() 167 splitters[i].nents, gfp_mask); in sg_split() 187 out_mapped_nents[i] = splitters[i].nents; in sg_split()
|
| H A D | kfifo.c | 310 unsigned int data_offset, int nents, in setup_sgl_buf() 315 if (!nents || !len) in setup_sgl_buf() 329 int nents, unsigned int len, unsigned int off, dma_addr_t dma) in setup_sgl_buf() 344 n = setup_sgl_buf(fifo, sgl, off, nents, len_to_end, dma); in setup_sgl() 345 n += setup_sgl_buf(fifo, sgl + n, 0, nents - n, len - len_to_end, dma); in setup_sgl() 351 struct scatterlist *sgl, int nents, unsigned int len, in setup_sgl() 360 return setup_sgl(fifo, sgl, nents, len, fifo->in, dma); in __kfifo_dma_in_prepare() 365 struct scatterlist *sgl, int nents, unsigned int len, in __kfifo_dma_in_prepare() 374 return setup_sgl(fifo, sgl, nents, len, fifo->out, dma); in __kfifo_dma_out_prepare() 558 struct scatterlist *sgl, int nents, unsigne in __kfifo_dma_in_prepare_r() 296 setup_sgl_buf(struct scatterlist * sgl,void * buf,int nents,unsigned int len) setup_sgl_buf() argument 335 setup_sgl(struct __kfifo * fifo,struct scatterlist * sgl,int nents,unsigned int len,unsigned int off) setup_sgl() argument 357 __kfifo_dma_in_prepare(struct __kfifo * fifo,struct scatterlist * sgl,int nents,unsigned int len) __kfifo_dma_in_prepare() argument 370 __kfifo_dma_out_prepare(struct __kfifo * fifo,struct scatterlist * sgl,int nents,unsigned int len) __kfifo_dma_out_prepare() argument 549 __kfifo_dma_in_prepare_r(struct __kfifo * fifo,struct scatterlist * sgl,int nents,unsigned int len,size_t recsize) __kfifo_dma_in_prepare_r() argument 572 __kfifo_dma_out_prepare_r(struct __kfifo * fifo,struct scatterlist * sgl,int nents,unsigned int len,size_t recsize) __kfifo_dma_out_prepare_r() argument [all...] |
| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_gem.c | 161 objs->nents = 0; in virtio_gpu_panic_array_alloc() 166 struct virtio_gpu_object_array *virtio_gpu_array_alloc(u32 nents) in virtio_gpu_array_alloc() argument 170 objs = kmalloc_flex(*objs, objs, nents); in virtio_gpu_array_alloc() 174 objs->nents = 0; in virtio_gpu_array_alloc() 175 objs->total = nents; in virtio_gpu_array_alloc() 185 virtio_gpu_array_from_handles(struct drm_file *drm_file, u32 *handles, u32 nents) in virtio_gpu_array_from_handles() argument 190 objs = virtio_gpu_array_alloc(nents); in virtio_gpu_array_from_handles() 194 for (i = 0; i < nents; i++) { in virtio_gpu_array_from_handles() 197 objs->nents = i; in virtio_gpu_array_from_handles() 202 objs->nents = i; in virtio_gpu_array_from_handles() [all …]
|
| H A D | virtgpu_object.c | 164 unsigned int *nents) in virtio_gpu_object_shmem_init() argument 176 *nents = pages->nents; in virtio_gpu_object_shmem_init() 178 *nents = pages->orig_nents; in virtio_gpu_object_shmem_init() 180 *ents = kvmalloc_objs(struct virtio_gpu_mem_entry, *nents); in virtio_gpu_object_shmem_init() 212 unsigned int nents; in virtio_gpu_object_create() local 229 ret = virtio_gpu_object_shmem_init(vgdev, bo, &ents, &nents); in virtio_gpu_object_create() 250 ents, nents); in virtio_gpu_object_create() 254 virtio_gpu_object_attach(vgdev, bo, ents, nents); in virtio_gpu_object_create() 258 virtio_gpu_object_attach(vgdev, bo, ents, nents); in virtio_gpu_object_create()
|
| /linux/samples/kfifo/ |
| H A 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/drivers/staging/media/ipu7/ |
| H A D | ipu7-dma.c | 136 unsigned int nents) in ipu7_dma_sync_sg() argument 141 for_each_sg(sglist, sg, nents, i) in ipu7_dma_sync_sg() 331 int nents, enum dma_data_direction dir, in ipu7_dma_unmap_sg() argument 342 if (!nents) in ipu7_dma_unmap_sg() 353 dev_dbg(dev, "trying to unmap concatenated %u ents\n", nents); in ipu7_dma_unmap_sg() 354 for_each_sg(sglist, sg, nents, i) { in ipu7_dma_unmap_sg() 375 int nents, enum dma_data_direction dir, in ipu7_dma_map_sg() argument 386 for_each_sg(sglist, sg, nents, i) { in ipu7_dma_map_sg() 394 for_each_sg(sglist, sg, nents, i) in ipu7_dma_map_sg() 398 nents, npages); in ipu7_dma_map_sg() [all …]
|
| /linux/drivers/media/pci/intel/ipu6/ |
| H A D | ipu6-dma.c | 136 int nents) in ipu6_dma_sync_sg() argument 141 for_each_sg(sglist, sg, nents, i) in ipu6_dma_sync_sg() 331 int nents, enum dma_data_direction dir, in ipu6_dma_unmap_sg() argument 342 if (!nents) in ipu6_dma_unmap_sg() 353 dev_dbg(dev, "trying to unmap concatenated %u ents\n", nents); in ipu6_dma_unmap_sg() 354 for_each_sg(sglist, sg, nents, i) { in ipu6_dma_unmap_sg() 375 int nents, enum dma_data_direction dir, in ipu6_dma_map_sg() argument 386 for_each_sg(sglist, sg, nents, i) { in ipu6_dma_map_sg() 394 for_each_sg(sglist, sg, nents, i) in ipu6_dma_map_sg() 398 nents, npages); in ipu6_dma_map_sg() [all …]
|
| /linux/drivers/dma-buf/ |
| H A D | dma-buf-mapping.c | 12 unsigned int len, nents; in fill_sg_entry() local 15 nents = DIV_ROUND_UP(length, UINT_MAX); in fill_sg_entry() 16 for (i = 0; i < nents; i++) { in fill_sg_entry() 39 unsigned int nents = 0; in calc_sg_nents() local 44 nents += DIV_ROUND_UP(phys_vec[i].len, UINT_MAX); in calc_sg_nents() 51 nents = DIV_ROUND_UP(size, UINT_MAX); in calc_sg_nents() 54 return nents; in calc_sg_nents() 98 unsigned int nents, mapped_len = 0; in dma_buf_phys_vec_to_sgt() local 135 nents = calc_sg_nents(dma->state, phys_vec, nr_ranges, size); in dma_buf_phys_vec_to_sgt() 136 ret = sg_alloc_table(&dma->sgt, nents, GFP_KERNEL | __GFP_ZERO); in dma_buf_phys_vec_to_sgt()
|
| /linux/include/trace/events/ |
| H A D | dma.h | 281 TP_PROTO(struct device *dev, struct scatterlist *sgl, int nents, 283 TP_ARGS(dev, sgl, nents, ents, dir, attrs), 290 __dynamic_array(u64, phys_addrs, min(nents, DMA_TRACE_MAX_ENTRIES)) 300 int traced_nents = min_t(int, nents, DMA_TRACE_MAX_ENTRIES); 304 __entry->full_nents = nents; 306 __entry->truncated = (nents > DMA_TRACE_MAX_ENTRIES) || (ents > DMA_TRACE_MAX_ENTRIES); 338 TP_PROTO(struct device *dev, struct scatterlist *sgl, int nents, 340 TP_ARGS(dev, sgl, nents, err, dir, attrs), 344 __dynamic_array(u64, phys_addrs, nents) 355 for_each_sg(sgl, sg, nents, i) [all …]
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | i915_scatterlist.c | 21 if (orig_st->nents == orig_st->orig_nents) in i915_sg_trim() 24 if (sg_alloc_table(&new_st, orig_st->nents, GFP_KERNEL | __GFP_NOWARN)) in i915_sg_trim() 28 for_each_sg(orig_st->sgl, sg, orig_st->nents, i) { in i915_sg_trim() 113 st->nents = 0; in i915_rsgt_from_mm_node() 122 if (st->nents) in i915_rsgt_from_mm_node() 130 st->nents++; in i915_rsgt_from_mm_node() 199 st->nents = 0; in i915_rsgt_from_buddy_resource() 212 if (st->nents) in i915_rsgt_from_buddy_resource() 220 st->nents++; in i915_rsgt_from_buddy_resource()
|
| /linux/drivers/crypto/ccree/ |
| H A D | cc_buffer_mgr.c | 25 int nents[MAX_NUM_OF_BUFFERS_IN_MLLI]; member 77 unsigned int nents = 0; in cc_get_sgl_nents() local 82 nents++; in cc_get_sgl_nents() 90 dev_dbg(dev, "nents %d last bytes %d\n", nents, *lbytes); in cc_get_sgl_nents() 91 return nents; in cc_get_sgl_nents() 109 u32 nents; in cc_copy_sg_portion() local 111 nents = sg_nents_for_len(sg, end); in cc_copy_sg_portion() 112 sg_copy_buffer(sg, nents, dest, (end - to_skip + 1), to_skip, in cc_copy_sg_portion() 236 unsigned int nents, struct scatterlist *sgl, in cc_add_sg_entry() argument 243 index, nents, sgl, data_len, is_last_table); in cc_add_sg_entry() [all …]
|
| /linux/drivers/hwtracing/intel_th/ |
| H A 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() 80 return nents; in msu_sink_alloc_window() 90 for_each_sg(sgt->sgl, sg_ptr, sgt->nents, i) { in msu_sink_free_window()
|
| /linux/kernel/dma/ |
| H A D | direct.h | 21 int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents, 29 int nents, enum dma_data_direction dir); 32 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_device() argument 41 int nents, enum dma_data_direction dir, unsigned long attrs); 43 struct scatterlist *sgl, int nents, enum dma_data_direction dir); 46 struct scatterlist *sgl, int nents, enum dma_data_direction dir, in dma_direct_unmap_sg() argument 51 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_cpu() argument
|
| H A D | mapping.c | 231 int nents, enum dma_data_direction dir, unsigned long attrs) in __dma_map_sg_attrs() argument 242 arch_dma_map_sg_direct(dev, sg, nents)) in __dma_map_sg_attrs() 243 ents = dma_direct_map_sg(dev, sg, nents, dir, attrs); in __dma_map_sg_attrs() 245 ents = iommu_dma_map_sg(dev, sg, nents, dir, attrs); in __dma_map_sg_attrs() 247 ents = ops->map_sg(dev, sg, nents, dir, attrs); in __dma_map_sg_attrs() 250 kmsan_handle_dma_sg(sg, nents, dir); in __dma_map_sg_attrs() 251 trace_dma_map_sg(dev, sg, nents, ents, dir, attrs); in __dma_map_sg_attrs() 252 debug_dma_map_sg(dev, sg, nents, ents, dir, attrs); in __dma_map_sg_attrs() 255 trace_dma_map_sg_err(dev, sg, nents, ents, dir, attrs); in __dma_map_sg_attrs() 280 int nents, enum dma_data_direction dir, unsigned long attrs) in dma_map_sg_attrs() argument [all …]
|
| /linux/drivers/parisc/ |
| H A 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 %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/drivers/target/iscsi/cxgbit/ |
| H A 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() 287 ttinfo->nents = 0; in cxgbit_unmap_cmd()
|
| /linux/rust/kernel/ |
| H A D | scatterlist.rs | 159 let nents = unsafe { (*self.as_raw()).nents }; in iter() 161 let pos = if nents > 0 { in iter() 171 SGTableIter { pos, nents } in iter() 471 nents: c_uint, 479 self.nents = self.nents.saturating_sub(1); in next() 484 self.pos = (!next.is_null() && self.nents > 0).then(|| { in next() 158 let nents = unsafe { (*self.as_raw()).nents }; iter() localVariable 470 nents: c_uint, global() field
|
| /linux/drivers/crypto/cavium/nitrox/ |
| H A D | nitrox_req.h | 555 static inline void *alloc_req_buf(int nents, int extralen, gfp_t gfp) in alloc_req_buf() argument 559 size = sizeof(struct scatterlist) * nents; in alloc_req_buf() 621 int nents, int ivsize) in alloc_src_req_buf() argument 625 nkreq->src = alloc_req_buf(nents, ivsize, creq->gfp); in alloc_src_req_buf() 643 int nents, int ivsize, in nitrox_creq_set_src_sg() argument 652 sg_init_table(sg, nents); in nitrox_creq_set_src_sg() 667 int nents) in alloc_dst_req_buf() argument 672 nkreq->dst = alloc_req_buf(nents, extralen, creq->gfp); in alloc_dst_req_buf() 701 int nents, int ivsize, in nitrox_creq_set_dst_sg() argument 710 sg_init_table(sg, nents); in nitrox_creq_set_dst_sg()
|
| H A D | nitrox_aead.c | 97 int nents = sg_nents_for_len(src, buflen); in alloc_src_sglist() local 100 if (nents < 0) in alloc_src_sglist() 101 return nents; in alloc_src_sglist() 104 nents += 1; in alloc_src_sglist() 106 ret = alloc_src_req_buf(nkreq, nents, ivsize); in alloc_src_sglist() 111 nitrox_creq_set_src_sg(nkreq, nents, ivsize, src, buflen); in alloc_src_sglist() 119 int nents = sg_nents_for_len(dst, buflen); in alloc_dst_sglist() local 122 if (nents < 0) in alloc_dst_sglist() 123 return nents; in alloc_dst_sglist() 126 nents += 3; in alloc_dst_sglist() [all …]
|
| /linux/drivers/mmc/core/ |
| H A D | sdio_ops.c | 122 unsigned int nents, left_size, i; in mmc_io_rw_extended() local 152 nents = DIV_ROUND_UP(left_size, seg_size); in mmc_io_rw_extended() 153 if (nents > 1) { in mmc_io_rw_extended() 154 if (sg_alloc_table(&sgtable, nents, GFP_KERNEL)) in mmc_io_rw_extended() 158 data.sg_len = nents; in mmc_io_rw_extended() 196 if (nents > 1) in mmc_io_rw_extended()
|
| /linux/arch/mips/jazz/ |
| H A D | jazzdma.c | 550 int nents, enum dma_data_direction dir, unsigned long attrs) in jazz_dma_map_sg() argument 555 for_each_sg(sglist, sg, nents, i) { in jazz_dma_map_sg() 565 return nents; in jazz_dma_map_sg() 569 int nents, enum dma_data_direction dir, unsigned long attrs) in jazz_dma_unmap_sg() argument 574 for_each_sg(sglist, sg, nents, i) { in jazz_dma_unmap_sg() 594 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in jazz_dma_sync_sg_for_device() argument 599 for_each_sg(sgl, sg, nents, i) in jazz_dma_sync_sg_for_device() 604 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in jazz_dma_sync_sg_for_cpu() argument 609 for_each_sg(sgl, sg, nents, i) in jazz_dma_sync_sg_for_cpu()
|
| /linux/arch/sparc/mm/ |
| H A D | iommu.c | 252 int nents, enum dma_data_direction dir, unsigned long attrs, in __sbus_iommu_map_sg() argument 258 for_each_sg(sgl, sg, nents, j) { in __sbus_iommu_map_sg() 266 return nents; in __sbus_iommu_map_sg() 270 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_map_sg_gflush() argument 273 return __sbus_iommu_map_sg(dev, sgl, nents, dir, attrs, false); in sbus_iommu_map_sg_gflush() 277 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_map_sg_pflush() argument 279 return __sbus_iommu_map_sg(dev, sgl, nents, dir, attrs, true); in sbus_iommu_map_sg_pflush() 302 int nents, enum dma_data_direction dir, unsigned long attrs) in sbus_iommu_unmap_sg() argument 307 for_each_sg(sgl, sg, nents, i) { in sbus_iommu_unmap_sg()
|
| /linux/drivers/iio/buffer/ |
| H A D | industrialio-buffer-dmaengine.c | 72 int nents; in iio_dmaengine_buffer_submit_block() local 84 nents = sg_nents_for_len(sgl, block->bytes_used); in iio_dmaengine_buffer_submit_block() 85 if (nents < 0) in iio_dmaengine_buffer_submit_block() 86 return nents; in iio_dmaengine_buffer_submit_block() 88 vecs = kmalloc_array(nents, sizeof(*vecs), GFP_ATOMIC); in iio_dmaengine_buffer_submit_block() 94 for (i = 0; i < nents; i++) { in iio_dmaengine_buffer_submit_block() 103 vecs, nents, dma_dir, in iio_dmaengine_buffer_submit_block()
|