/openbmc/linux/drivers/media/v4l2-core/ |
H A D | videobuf-dma-sg.c | 65 struct scatterlist *sglist; in videobuf_vmalloc_to_sg() local 69 sglist = vzalloc(array_size(nr_pages, sizeof(*sglist))); in videobuf_vmalloc_to_sg() 70 if (NULL == sglist) in videobuf_vmalloc_to_sg() 72 sg_init_table(sglist, nr_pages); in videobuf_vmalloc_to_sg() 78 sg_set_page(&sglist[i], pg, PAGE_SIZE, 0); in videobuf_vmalloc_to_sg() 80 return sglist; in videobuf_vmalloc_to_sg() 83 vfree(sglist); in videobuf_vmalloc_to_sg() 95 struct scatterlist *sglist; in videobuf_pages_to_sg() local 100 sglist = vmalloc(array_size(nr_pages, sizeof(*sglist))); in videobuf_pages_to_sg() 101 if (NULL == sglist) in videobuf_pages_to_sg() [all …]
|
/openbmc/linux/drivers/misc/bcm-vk/ |
H A D | bcm_vk_sg.c | 91 dma->sglist = dma_alloc_coherent(dev, in bcm_vk_dma_alloc() 95 if (!dma->sglist) in bcm_vk_dma_alloc() 98 dma->sglist[SGLIST_NUM_SG] = 0; in bcm_vk_dma_alloc() 99 dma->sglist[SGLIST_TOTALSIZE] = vkdata->size; in bcm_vk_dma_alloc() 101 sgdata = (struct _vk_data *)&dma->sglist[SGLIST_VKDATA_START]; in bcm_vk_dma_alloc() 142 dma->sglist[SGLIST_NUM_SG]++; in bcm_vk_dma_alloc() 153 dma->sglist[SGLIST_NUM_SG]++; in bcm_vk_dma_alloc() 157 vkdata->size = (dma->sglist[SGLIST_NUM_SG] * sizeof(*sgdata)) + in bcm_vk_dma_alloc() 163 (u64)dma->sglist, in bcm_vk_dma_alloc() 168 dev_dbg(dev, "i:0x%x 0x%x\n", i, dma->sglist[i]); in bcm_vk_dma_alloc() [all …]
|
/openbmc/linux/drivers/net/ethernet/marvell/octeon_ep/ |
H A D | octep_tx.c | 71 dma_unmap_single(iq->dev, tx_buffer->sglist[0].dma_ptr[0], in octep_iq_process_completions() 72 tx_buffer->sglist[0].len[3], DMA_TO_DEVICE); in octep_iq_process_completions() 76 dma_unmap_page(iq->dev, tx_buffer->sglist[i >> 2].dma_ptr[i & 3], in octep_iq_process_completions() 77 tx_buffer->sglist[i >> 2].len[3 - (i & 3)], DMA_TO_DEVICE); in octep_iq_process_completions() 133 tx_buffer->sglist[0].dma_ptr[0], in octep_iq_free_pending() 134 tx_buffer->sglist[0].len[3], in octep_iq_free_pending() 139 dma_unmap_page(iq->dev, tx_buffer->sglist[i >> 2].dma_ptr[i & 3], in octep_iq_free_pending() 140 tx_buffer->sglist[i >> 2].len[3 - (i & 3)], DMA_TO_DEVICE); in octep_iq_free_pending() 211 iq->sglist = dma_alloc_coherent(iq->dev, sglist_size, in octep_setup_iq() 213 if (unlikely(!iq->sglist)) { in octep_setup_iq() [all …]
|
H A D | octep_main.c | 630 struct octep_tx_sglist_desc *sglist; in octep_start_xmit() local 678 sglist = tx_buffer->sglist; in octep_start_xmit() 692 memset(sglist, 0, OCTEP_SGLIST_SIZE_PER_PKT); in octep_start_xmit() 693 sglist[0].len[3] = len; in octep_start_xmit() 694 sglist[0].dma_ptr[0] = dma; in octep_start_xmit() 705 sglist[si >> 2].len[3 - (si & 3)] = len; in octep_start_xmit() 706 sglist[si >> 2].dma_ptr[si & 3] = dma; in octep_start_xmit() 735 dma_unmap_single(iq->dev, sglist[0].dma_ptr[0], in octep_start_xmit() 736 sglist[0].len[3], DMA_TO_DEVICE); in octep_start_xmit() 737 sglist[0].len[3] = 0; in octep_start_xmit() [all …]
|
H A D | octep_tx.h | 53 struct octep_tx_sglist_desc *sglist; member 187 struct octep_tx_sglist_desc *sglist; member
|
/openbmc/linux/drivers/firmware/efi/ |
H A D | capsule.c | 246 efi_capsule_block_desc_t *sglist; in efi_capsule_update() local 248 sglist = kmap_atomic(sg_pages[i]); in efi_capsule_update() 254 sglist[j].length = sz; in efi_capsule_update() 255 sglist[j].data = *pages++; in efi_capsule_update() 262 sglist[j].length = 0; in efi_capsule_update() 265 sglist[j].data = 0; in efi_capsule_update() 267 sglist[j].data = page_to_phys(sg_pages[i + 1]); in efi_capsule_update() 278 efi_capsule_flush_cache_range(sglist, PAGE_SIZE); in efi_capsule_update() 280 kunmap_atomic(sglist); in efi_capsule_update()
|
/openbmc/linux/drivers/media/pci/cx23885/ |
H A D | cx23885-alsa.c | 90 buf->sglist = vzalloc(array_size(sizeof(*buf->sglist), buf->nr_pages)); in cx23885_alsa_dma_init() 91 if (NULL == buf->sglist) in cx23885_alsa_dma_init() 94 sg_init_table(buf->sglist, buf->nr_pages); in cx23885_alsa_dma_init() 99 sg_set_page(&buf->sglist[i], pg, PAGE_SIZE, 0); in cx23885_alsa_dma_init() 104 vfree(buf->sglist); in cx23885_alsa_dma_init() 105 buf->sglist = NULL; in cx23885_alsa_dma_init() 116 buf->sglen = dma_map_sg(&dev->pci->dev, buf->sglist, in cx23885_alsa_dma_map() 133 dma_unmap_sg(&dev->pci->dev, buf->sglist, buf->nr_pages, DMA_FROM_DEVICE); in cx23885_alsa_dma_unmap() 140 vfree(buf->sglist); in cx23885_alsa_dma_free() 141 buf->sglist = NULL; in cx23885_alsa_dma_free() [all …]
|
/openbmc/linux/drivers/media/pci/cx25821/ |
H A D | cx25821-alsa.c | 55 struct scatterlist *sglist; member 153 buf->sglist = vzalloc(array_size(sizeof(*buf->sglist), buf->nr_pages)); in cx25821_alsa_dma_init() 154 if (NULL == buf->sglist) in cx25821_alsa_dma_init() 157 sg_init_table(buf->sglist, buf->nr_pages); in cx25821_alsa_dma_init() 162 sg_set_page(&buf->sglist[i], pg, PAGE_SIZE, 0); in cx25821_alsa_dma_init() 167 vfree(buf->sglist); in cx25821_alsa_dma_init() 168 buf->sglist = NULL; in cx25821_alsa_dma_init() 179 buf->sglen = dma_map_sg(&dev->pci->dev, buf->sglist, in cx25821_alsa_dma_map() 196 dma_unmap_sg(&dev->pci->dev, buf->sglist, buf->nr_pages, DMA_FROM_DEVICE); in cx25821_alsa_dma_unmap() 203 vfree(buf->sglist); in cx25821_alsa_dma_free() [all …]
|
/openbmc/linux/drivers/media/pci/tw68/ |
H A D | tw68-risc.c | 33 static __le32 *tw68_risc_field(__le32 *rp, struct scatterlist *sglist, in tw68_risc_field() argument 54 sg = sglist; in tw68_risc_field() 130 struct scatterlist *sglist, in tw68_risc_buffer() argument 162 rp = tw68_risc_field(rp, sglist, top_offset, 1, in tw68_risc_buffer() 165 rp = tw68_risc_field(rp, sglist, bottom_offset, 2, in tw68_risc_buffer()
|
/openbmc/linux/drivers/parisc/ |
H A D | ccio-dma.c | 903 ccio_map_sg(struct device *dev, struct scatterlist *sglist, int nents, in ccio_map_sg() argument 922 sg_dma_address(sglist) = ccio_map_single(dev, in ccio_map_sg() 923 sg_virt(sglist), sglist->length, in ccio_map_sg() 925 sg_dma_len(sglist) = sglist->length; in ccio_map_sg() 930 prev_len += sglist[i].length; in ccio_map_sg() 946 coalesced = iommu_coalesce_chunks(ioc, dev, sglist, nents, ccio_alloc_range); in ccio_map_sg() 956 filled = iommu_fill_pdir(ioc, sglist, nents, hint, ccio_io_pdir_entry); in ccio_map_sg() 965 current_len += sg_dma_len(sglist + i); in ccio_map_sg() 983 ccio_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents, in ccio_unmap_sg() argument 996 __func__, nents, sg_virt(sglist), sglist->length); in ccio_unmap_sg() [all …]
|
H A D | sba_iommu.c | 950 sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents, in sba_map_sg() argument 965 sg_dma_address(sglist) = sba_map_single(dev, sg_virt(sglist), in sba_map_sg() 966 sglist->length, direction); in sba_map_sg() 967 sg_dma_len(sglist) = sglist->length; in sba_map_sg() 976 sba_dump_sg(ioc, sglist, nents); in sba_map_sg() 993 iommu_coalesce_chunks(ioc, dev, sglist, nents, sba_alloc_range); in sba_map_sg() 1003 filled = iommu_fill_pdir(ioc, sglist, nents, 0, sba_io_pdir_entry); in sba_map_sg() 1011 sba_dump_sg(ioc, sglist, nents); in sba_map_sg() 1035 sba_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents, in sba_unmap_sg() argument 1044 __func__, nents, sg_virt(sglist), sglist->length); in sba_unmap_sg() [all …]
|
/openbmc/linux/drivers/media/pci/cx88/ |
H A D | cx88-alsa.c | 48 struct scatterlist *sglist; member 292 buf->sglist = vzalloc(array_size(sizeof(*buf->sglist), buf->nr_pages)); in cx88_alsa_dma_init() 293 if (!buf->sglist) in cx88_alsa_dma_init() 296 sg_init_table(buf->sglist, buf->nr_pages); in cx88_alsa_dma_init() 301 sg_set_page(&buf->sglist[i], pg, PAGE_SIZE, 0); in cx88_alsa_dma_init() 306 vfree(buf->sglist); in cx88_alsa_dma_init() 307 buf->sglist = NULL; in cx88_alsa_dma_init() 318 buf->sglen = dma_map_sg(&dev->pci->dev, buf->sglist, in cx88_alsa_dma_map() 335 dma_unmap_sg(&dev->pci->dev, buf->sglist, buf->nr_pages, in cx88_alsa_dma_unmap() 343 vfree(buf->sglist); in cx88_alsa_dma_free() [all …]
|
/openbmc/linux/include/linux/ |
H A D | scatterlist.h | 195 #define for_each_sg(sglist, sg, nr, __i) \ argument 196 for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg)) 574 struct scatterlist *sglist, unsigned int nents, 607 #define for_each_sg_page(sglist, piter, nents, pgoffset) \ argument 608 for (__sg_page_iter_start((piter), (sglist), (nents), (pgoffset)); \ 622 #define for_each_sg_dma_page(sglist, dma_iter, dma_nents, pgoffset) \ argument 623 for (__sg_page_iter_start(&(dma_iter)->base, sglist, dma_nents, \
|
/openbmc/linux/arch/ia64/hp/common/ |
H A D | sba_iommu.c | 1424 static void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist, 1437 static int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist, in sba_map_sg_attrs() argument 1457 for_each_sg(sglist, sg, nents, filled) { in sba_map_sg_attrs() 1466 sglist->dma_length = sglist->length; in sba_map_sg_attrs() 1467 sglist->dma_address = sba_map_page(dev, sg_page(sglist), in sba_map_sg_attrs() 1468 sglist->offset, sglist->length, dir, attrs); in sba_map_sg_attrs() 1469 if (dma_mapping_error(dev, sglist->dma_address)) in sba_map_sg_attrs() 1478 sba_dump_sg(ioc, sglist, nents); in sba_map_sg_attrs() 1494 coalesced = sba_coalesce_chunks(ioc, dev, sglist, nents); in sba_map_sg_attrs() 1496 sba_unmap_sg_attrs(dev, sglist, nents, dir, attrs); in sba_map_sg_attrs() [all …]
|
/openbmc/linux/arch/powerpc/kernel/ |
H A D | dma-iommu.c | 118 static int dma_iommu_map_sg(struct device *dev, struct scatterlist *sglist, in dma_iommu_map_sg() argument 122 return ppc_iommu_map_sg(dev, get_iommu_table_base(dev), sglist, nelems, in dma_iommu_map_sg() 126 static void dma_iommu_unmap_sg(struct device *dev, struct scatterlist *sglist, in dma_iommu_unmap_sg() argument 130 ppc_iommu_unmap_sg(get_iommu_table_base(dev), sglist, nelems, in dma_iommu_unmap_sg()
|
/openbmc/linux/arch/sparc/kernel/ |
H A D | iommu.c | 432 static int dma_4u_map_sg(struct device *dev, struct scatterlist *sglist, in dma_4u_map_sg() argument 466 outs = s = segstart = &sglist[0]; in dma_4u_map_sg() 477 for_each_sg(sglist, s, nelems, i) { in dma_4u_map_sg() 555 for_each_sg(sglist, s, nelems, i) { in dma_4u_map_sg() 605 static void dma_4u_unmap_sg(struct device *dev, struct scatterlist *sglist, in dma_4u_unmap_sg() argument 619 ctx = fetch_sg_ctx(iommu, sglist); in dma_4u_unmap_sg() 623 sg = sglist; in dma_4u_unmap_sg() 696 struct scatterlist *sglist, int nelems, in dma_4u_sync_sg_for_cpu() argument 720 iopte = iommu->page_table + ((sglist[0].dma_address - in dma_4u_sync_sg_for_cpu() 726 bus_addr = sglist[0].dma_address & IO_PAGE_MASK; in dma_4u_sync_sg_for_cpu() [all …]
|
/openbmc/linux/block/ |
H A D | blk-merge.c | 454 struct scatterlist *sglist) in blk_next_sg() argument 457 return sglist; in blk_next_sg() 471 struct bio_vec *bvec, struct scatterlist *sglist, in blk_bvec_map_sg() argument 494 *sg = blk_next_sg(sg, sglist); in blk_bvec_map_sg() 506 struct scatterlist *sglist, struct scatterlist **sg) in __blk_bvec_map_sg() argument 508 *sg = blk_next_sg(sg, sglist); in __blk_bvec_map_sg() 536 struct scatterlist *sglist, in __blk_bios_map_sg() argument 556 nsegs += __blk_bvec_map_sg(bvec, sglist, sg); in __blk_bios_map_sg() 558 nsegs += blk_bvec_map_sg(q, &bvec, sglist, sg); in __blk_bios_map_sg() 576 struct scatterlist *sglist, struct scatterlist **last_sg) in __blk_rq_map_sg() argument [all …]
|
/openbmc/linux/drivers/media/common/saa7146/ |
H A D | saa7146_core.c | 140 struct scatterlist *sglist; in vmalloc_to_sg() local 144 sglist = kmalloc_array(nr_pages, sizeof(struct scatterlist), GFP_KERNEL); in vmalloc_to_sg() 145 if (NULL == sglist) in vmalloc_to_sg() 147 sg_init_table(sglist, nr_pages); in vmalloc_to_sg() 154 sg_set_page(&sglist[i], pg, PAGE_SIZE, 0); in vmalloc_to_sg() 156 return sglist; in vmalloc_to_sg() 159 kfree(sglist); in vmalloc_to_sg()
|
/openbmc/linux/drivers/media/pci/saa7134/ |
H A D | saa7134-alsa.c | 274 dma->sglist = vzalloc(array_size(sizeof(*dma->sglist), dma->nr_pages)); in saa7134_alsa_dma_init() 275 if (NULL == dma->sglist) in saa7134_alsa_dma_init() 278 sg_init_table(dma->sglist, dma->nr_pages); in saa7134_alsa_dma_init() 283 sg_set_page(&dma->sglist[i], pg, PAGE_SIZE, 0); in saa7134_alsa_dma_init() 288 vfree(dma->sglist); in saa7134_alsa_dma_init() 289 dma->sglist = NULL; in saa7134_alsa_dma_init() 300 dma->sglen = dma_map_sg(&dev->pci->dev, dma->sglist, in saa7134_alsa_dma_map() 317 dma_unmap_sg(&dev->pci->dev, dma->sglist, dma->nr_pages, DMA_FROM_DEVICE); in saa7134_alsa_dma_unmap() 324 vfree(dma->sglist); in saa7134_alsa_dma_free() 325 dma->sglist = NULL; in saa7134_alsa_dma_free() [all …]
|
/openbmc/qemu/hw/ide/ |
H A D | ahci.c | 699 qemu_sglist_destroy(&ncq_tfs->sglist); in ahci_reset_port() 936 static int ahci_populate_sglist(AHCIDevice *ad, QEMUSGList *sglist, in ahci_populate_sglist() argument 997 qemu_sglist_init(sglist, qbus->parent, (prdtl - off_idx), in ahci_populate_sglist() 999 qemu_sglist_add(sglist, le64_to_cpu(tbl[off_idx].addr) + off_pos, in ahci_populate_sglist() 1003 for (i = off_idx + 1; i < prdtl && sglist->size < limit; i++) { in ahci_populate_sglist() 1004 qemu_sglist_add(sglist, le64_to_cpu(tbl[i].addr), in ahci_populate_sglist() 1006 limit - sglist->size)); in ahci_populate_sglist() 1022 qemu_sglist_destroy(&ncq_tfs->sglist); in ncq_err() 1042 qemu_sglist_destroy(&ncq_tfs->sglist); in ncq_finish() 1102 &ncq_tfs->sglist, BLOCK_ACCT_READ); in execute_ncq_command() [all …]
|
/openbmc/linux/tools/virtio/linux/ |
H A D | scatterlist.h | 78 #define for_each_sg(sglist, sg, nr, __i) \ argument 79 for (__i = 0, sg = (sglist); __i < (nr); __i++, sg = sg_next(sg))
|
/openbmc/linux/drivers/staging/media/ipu3/ |
H A D | ipu3-dmamap.c | 184 int imgu_dmamap_map_sg(struct imgu_device *imgu, struct scatterlist *sglist, in imgu_dmamap_map_sg() argument 193 for_each_sg(sglist, sg, nents, i) { in imgu_dmamap_map_sg() 216 sglist, nents) < size) in imgu_dmamap_map_sg()
|
/openbmc/linux/kernel/dma/ |
H A D | debug.h | 24 extern void debug_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, 77 struct scatterlist *sglist, in debug_dma_unmap_sg() argument
|
/openbmc/linux/net/rds/ |
H A D | ib.h | 326 struct scatterlist *sglist, in rds_ib_dma_sync_sg_for_cpu() argument 333 for_each_sg(sglist, sg, sg_dma_len, i) { in rds_ib_dma_sync_sg_for_cpu() 341 struct scatterlist *sglist, in rds_ib_dma_sync_sg_for_device() argument 348 for_each_sg(sglist, sg, sg_dma_len, i) { in rds_ib_dma_sync_sg_for_device()
|
/openbmc/linux/arch/mips/jazz/ |
H A D | jazzdma.c | 543 static int jazz_dma_map_sg(struct device *dev, struct scatterlist *sglist, in jazz_dma_map_sg() argument 549 for_each_sg(sglist, sg, nents, i) { in jazz_dma_map_sg() 562 static void jazz_dma_unmap_sg(struct device *dev, struct scatterlist *sglist, in jazz_dma_unmap_sg() argument 568 for_each_sg(sglist, sg, nents, i) { in jazz_dma_unmap_sg()
|