Home
last modified time | relevance | path

Searched refs:sgl (Results 1 – 25 of 517) sorted by relevance

12345678910>>...21

/openbmc/linux/drivers/misc/genwqe/
H A Dcard_utils.c291 int genwqe_alloc_sync_sgl(struct genwqe_dev *cd, struct genwqe_sgl *sgl, in genwqe_alloc_sync_sgl() argument
297 sgl->fpage_offs = offset_in_page((unsigned long)user_addr); in genwqe_alloc_sync_sgl()
298 sgl->fpage_size = min_t(size_t, PAGE_SIZE-sgl->fpage_offs, user_size); in genwqe_alloc_sync_sgl()
299 sgl->nr_pages = DIV_ROUND_UP(sgl->fpage_offs + user_size, PAGE_SIZE); in genwqe_alloc_sync_sgl()
300 sgl->lpage_size = (user_size - sgl->fpage_size) % PAGE_SIZE; in genwqe_alloc_sync_sgl()
303 __func__, user_addr, user_size, sgl->nr_pages, in genwqe_alloc_sync_sgl()
304 sgl->fpage_offs, sgl->fpage_size, sgl->lpage_size); in genwqe_alloc_sync_sgl()
306 sgl->user_addr = user_addr; in genwqe_alloc_sync_sgl()
307 sgl->user_size = user_size; in genwqe_alloc_sync_sgl()
308 sgl->write = write; in genwqe_alloc_sync_sgl()
[all …]
/openbmc/linux/crypto/
H A Daf_alg.c539 sg_unmark_end(sgl_prev->sgt.sgl + sgl_prev->sgt.nents - 1); in af_alg_link_sg()
540 sg_chain(sgl_prev->sgt.sgl, sgl_prev->sgt.nents + 1, sgl_new->sgt.sgl); in af_alg_link_sg()
543 void af_alg_free_sg(struct af_alg_sgl *sgl) in af_alg_free_sg() argument
547 if (sgl->sgt.sgl) { in af_alg_free_sg()
548 if (sgl->need_unpin) in af_alg_free_sg()
549 for (i = 0; i < sgl->sgt.nents; i++) in af_alg_free_sg()
550 unpin_user_page(sg_page(&sgl->sgt.sgl[i])); in af_alg_free_sg()
551 if (sgl->sgt.sgl != sgl->sgl) in af_alg_free_sg()
552 kvfree(sgl->sgt.sgl); in af_alg_free_sg()
553 sgl->sgt.sgl = NULL; in af_alg_free_sg()
[all …]
H A Dalgif_hash.c20 struct af_alg_sgl sgl; member
106 ctx->sgl.sgt.sgl = ctx->sgl.sgl; in hash_sendmsg()
107 ctx->sgl.sgt.nents = 0; in hash_sendmsg()
108 ctx->sgl.sgt.orig_nents = 0; in hash_sendmsg()
115 sg_init_table(ctx->sgl.sgl, npages); in hash_sendmsg()
117 ctx->sgl.need_unpin = iov_iter_extract_will_pin(&msg->msg_iter); in hash_sendmsg()
120 &ctx->sgl.sgt, npages, 0); in hash_sendmsg()
124 sg_mark_end(ctx->sgl.sgt.sgl + ctx->sgl.sgt.nents - 1); in hash_sendmsg()
132 ahash_request_set_crypt(&ctx->req, ctx->sgl.sgt.sgl, in hash_sendmsg()
160 af_alg_free_sg(&ctx->sgl); in hash_sendmsg()
[all …]
/openbmc/linux/drivers/crypto/hisilicon/
H A Dsgl.c37 struct hisi_acc_hw_sgl *sgl; member
92 block[i].sgl = dma_alloc_coherent(dev, block_size, in hisi_acc_create_sgl_pool()
95 if (!block[i].sgl) { in hisi_acc_create_sgl_pool()
104 block[i].sgl = dma_alloc_coherent(dev, remain_sgl * sgl_size, in hisi_acc_create_sgl_pool()
107 if (!block[i].sgl) { in hisi_acc_create_sgl_pool()
125 dma_free_coherent(dev, block_size, block[j].sgl, in hisi_acc_create_sgl_pool()
151 dma_free_coherent(dev, block[i].size, block[i].sgl, in hisi_acc_free_sgl_pool()
172 return (void *)block[block_index].sgl + pool->sgl_size * offset; in acc_get_sgl()
175 static void sg_map_to_hw_sg(struct scatterlist *sgl, in sg_map_to_hw_sg() argument
178 hw_sge->buf = sg_dma_address(sgl); in sg_map_to_hw_sg()
[all …]
/openbmc/linux/mm/
H A Dpage_reporting.c106 struct scatterlist *sgl, unsigned int nents, bool reported) in page_reporting_drain() argument
108 struct scatterlist *sg = sgl; in page_reporting_drain()
137 sg_init_table(sgl, nents); in page_reporting_drain()
148 struct scatterlist *sgl, unsigned int *offset) in page_reporting_cycle() argument
208 sg_set_page(&sgl[*offset], page, page_len, 0); in page_reporting_cycle()
225 err = prdev->report(prdev, sgl, PAGE_REPORTING_CAPACITY); in page_reporting_cycle()
237 page_reporting_drain(prdev, sgl, PAGE_REPORTING_CAPACITY, !err); in page_reporting_cycle()
261 struct scatterlist *sgl, struct zone *zone) in page_reporting_process_zone() argument
286 sgl, &offset); in page_reporting_process_zone()
295 sgl = &sgl[offset]; in page_reporting_process_zone()
[all …]
/openbmc/linux/lib/
H A Dscatterlist.c103 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()
126 void sg_init_table(struct scatterlist *sgl, unsigned int nents) in sg_init_table() argument
128 memset(sgl, 0, sizeof(*sgl) * nents); in sg_init_table()
129 sg_init_marker(sgl, nents); in sg_init_table()
199 struct scatterlist *sgl, *next; in __sg_free_table() local
202 if (unlikely(!table->sgl)) in __sg_free_table()
205 sgl = table->sgl; in __sg_free_table()
217 next = sg_chain_ptr(&sgl[curr_max_ents - 1]); in __sg_free_table()
229 free_fn(sgl, alloc_size); in __sg_free_table()
[all …]
H A Dkfifo.c295 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 …]
/openbmc/linux/include/linux/
H A Dscatterlist.h40 struct scatterlist *sgl; /* the list */ member
202 for_each_sg((sgt)->sgl, sg, (sgt)->orig_nents, i)
210 for_each_sg((sgt)->sgl, sg, (sgt)->nents, i)
213 struct scatterlist *sgl) in __sg_chain() argument
225 chain_sg->page_link = ((unsigned long) sgl | SG_CHAIN) & ~SG_END; in __sg_chain()
239 struct scatterlist *sgl) in sg_chain() argument
241 __sg_chain(&prv[prv_nents - 1], sgl); in sg_chain()
413 static inline void sg_init_marker(struct scatterlist *sgl, in sg_init_marker() argument
416 sg_mark_end(&sgl[nents - 1]); in sg_init_marker()
487 void sgl_free_n_order(struct scatterlist *sgl, int nents, int order);
[all …]
/openbmc/qemu/hw/usb/
H A Dlibhw.c26 int usb_packet_map(USBPacket *p, QEMUSGList *sgl) in usb_packet_map() argument
33 for (i = 0; i < sgl->nsg; i++) { in usb_packet_map()
34 dma_addr_t base = sgl->sg[i].base; in usb_packet_map()
35 dma_addr_t len = sgl->sg[i].len; in usb_packet_map()
39 mem = dma_memory_map(sgl->as, base, &xlen, dir, in usb_packet_map()
55 usb_packet_unmap(p, sgl); in usb_packet_map()
59 void usb_packet_unmap(USBPacket *p, QEMUSGList *sgl) in usb_packet_unmap() argument
66 dma_memory_unmap(sgl->as, p->iov.iov[i].iov_base, in usb_packet_unmap()
/openbmc/linux/drivers/target/iscsi/cxgbit/
H A Dcxgbit_ddp.c133 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 …]
/openbmc/linux/drivers/crypto/intel/qat/qat_common/
H A Dqat_bl.c51 struct scatterlist *sgl, in __qat_bl_sgl_to_bufl() argument
62 int n = sg_nents(sgl); in __qat_bl_sgl_to_bufl()
89 bufl_dma_dir = sgl != sglout ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL; in __qat_bl_sgl_to_bufl()
96 for_each_sg(sgl, sg, n, i) { in __qat_bl_sgl_to_bufl()
126 if (sgl != sglout) { in __qat_bl_sgl_to_bufl()
215 n = sg_nents(sgl); in __qat_bl_sgl_to_bufl()
230 struct scatterlist *sgl, in qat_bl_sgl_to_bufl() argument
248 return __qat_bl_sgl_to_bufl(accel_dev, sgl, sglout, buf, in qat_bl_sgl_to_bufl()
267 struct scatterlist *sgl, in qat_bl_sgl_map() argument
277 n = sg_nents(sgl); in qat_bl_sgl_map()
[all …]
/openbmc/linux/tools/virtio/linux/
H A Dscatterlist.h92 struct scatterlist *sgl) in sg_chain() argument
104 prv[prv_nents - 1].page_link = ((unsigned long) sgl | 0x01) & ~0x02; in sg_chain()
150 static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) in sg_init_table() argument
152 memset(sgl, 0, sizeof(*sgl) * nents); in sg_init_table()
153 sg_mark_end(&sgl[nents - 1]); in sg_init_table()
/openbmc/linux/drivers/scsi/lpfc/
H A Dlpfc_scsi.c103 struct sli4_sge *sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl; in lpfc_sli4_set_rsp_sgl_last() local
104 if (sgl) { in lpfc_sli4_set_rsp_sgl_last()
105 sgl += 1; in lpfc_sli4_set_rsp_sgl_last()
106 sgl->word2 = le32_to_cpu(sgl->word2); in lpfc_sli4_set_rsp_sgl_last()
107 bf_set(lpfc_sli4_sge_last, sgl, 1); in lpfc_sli4_set_rsp_sgl_last()
108 sgl->word2 = cpu_to_le32(sgl->word2); in lpfc_sli4_set_rsp_sgl_last()
601 struct sli4_sge *sgl; in lpfc_get_scsi_buf_s4() local
652 sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl; in lpfc_get_scsi_buf_s4()
654 sgl->addr_hi = cpu_to_le32(putPaddrHigh(pdma_phys_fcp_cmd)); in lpfc_get_scsi_buf_s4()
655 sgl->addr_lo = cpu_to_le32(putPaddrLow(pdma_phys_fcp_cmd)); in lpfc_get_scsi_buf_s4()
[all …]
H A Dlpfc_nvme.c830 struct sli4_sge *sgl; in lpfc_nvme_adj_fcp_sgls() local
849 sgl = lpfc_ncmd->dma_sgl; in lpfc_nvme_adj_fcp_sgls()
850 sgl->sge_len = cpu_to_le32(nCmd->cmdlen); in lpfc_nvme_adj_fcp_sgls()
852 sgl->addr_hi = 0; in lpfc_nvme_adj_fcp_sgls()
853 sgl->addr_lo = 0; in lpfc_nvme_adj_fcp_sgls()
892 sgl->addr_hi = cpu_to_le32(putPaddrHigh(nCmd->cmddma)); in lpfc_nvme_adj_fcp_sgls()
893 sgl->addr_lo = cpu_to_le32(putPaddrLow(nCmd->cmddma)); in lpfc_nvme_adj_fcp_sgls()
898 wqe->generic.bde.addrHigh = sgl->addr_hi; in lpfc_nvme_adj_fcp_sgls()
899 wqe->generic.bde.addrLow = sgl->addr_lo; in lpfc_nvme_adj_fcp_sgls()
906 sgl++; in lpfc_nvme_adj_fcp_sgls()
[all …]
/openbmc/linux/drivers/spi/
H A Dspi-bcm2835.c493 if (bs->tx_buf && !sg_is_last(&tfr->tx_sg.sgl[0])) in bcm2835_spi_transfer_prologue()
494 bs->tx_prologue = sg_dma_len(&tfr->tx_sg.sgl[0]) & 3; in bcm2835_spi_transfer_prologue()
496 if (bs->rx_buf && !sg_is_last(&tfr->rx_sg.sgl[0])) { in bcm2835_spi_transfer_prologue()
497 bs->rx_prologue = sg_dma_len(&tfr->rx_sg.sgl[0]) & 3; in bcm2835_spi_transfer_prologue()
500 if (!bs->tx_buf || sg_is_last(&tfr->tx_sg.sgl[0])) { in bcm2835_spi_transfer_prologue()
505 !(sg_dma_len(&tfr->tx_sg.sgl[0]) & ~3); in bcm2835_spi_transfer_prologue()
527 sg_dma_address(&tfr->rx_sg.sgl[0]), in bcm2835_spi_transfer_prologue()
530 sg_dma_address(&tfr->rx_sg.sgl[0]) += bs->rx_prologue; in bcm2835_spi_transfer_prologue()
531 sg_dma_len(&tfr->rx_sg.sgl[0]) -= bs->rx_prologue; in bcm2835_spi_transfer_prologue()
553 sg_dma_address(&tfr->tx_sg.sgl[0]) += bs->tx_prologue; in bcm2835_spi_transfer_prologue()
[all …]
/openbmc/linux/kernel/dma/
H A Ddirect.h21 int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
27 void dma_direct_sync_sg_for_device(struct device *dev, struct scatterlist *sgl,
31 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_device() argument
39 void dma_direct_unmap_sg(struct device *dev, struct scatterlist *sgl,
42 struct scatterlist *sgl, int nents, enum dma_data_direction dir);
45 struct scatterlist *sgl, int nents, enum dma_data_direction dir, in dma_direct_unmap_sg() argument
50 struct scatterlist *sgl, int nents, enum dma_data_direction dir) in dma_direct_sync_sg_for_cpu() argument
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/core/
H A Dfirmware.c124 .sgl = &fw->mem.sgl, in nvkm_firmware_mem_map()
136 return sg_dma_len(&nvkm_firmware_mem(memory)->mem.sgl); in nvkm_firmware_mem_size()
190 dma_free_noncoherent(fw->device->dev, sg_dma_len(&fw->mem.sgl), in nvkm_firmware_dtor()
227 sg_init_one(&fw->mem.sgl, fw->img, len); in nvkm_firmware_ctor()
228 sg_dma_address(&fw->mem.sgl) = fw->phys; in nvkm_firmware_ctor()
229 sg_dma_len(&fw->mem.sgl) = len; in nvkm_firmware_ctor()
/openbmc/linux/drivers/media/platform/
H A Dm2m-deinterlace.c236 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 …]
/openbmc/linux/drivers/vfio/pci/pds/
H A Dcmds.c206 struct pds_lm_sg_elem *sgl, *sge; in pds_vfio_dma_map_lm_file() local
225 sgl = kzalloc(sgl_size, GFP_KERNEL); in pds_vfio_dma_map_lm_file()
226 if (!sgl) { in pds_vfio_dma_map_lm_file()
232 sge = sgl; in pds_vfio_dma_map_lm_file()
240 sgl_addr = dma_map_single(dev, sgl, sgl_size, DMA_TO_DEVICE); in pds_vfio_dma_map_lm_file()
246 lm_file->sgl = sgl; in pds_vfio_dma_map_lm_file()
252 kfree(sgl); in pds_vfio_dma_map_lm_file()
267 if (lm_file->sgl) { in pds_vfio_dma_unmap_lm_file()
269 lm_file->num_sge * sizeof(*lm_file->sgl), in pds_vfio_dma_unmap_lm_file()
271 kfree(lm_file->sgl); in pds_vfio_dma_unmap_lm_file()
[all …]
H A Ddirty.c111 kfree(bmp_info->sgl); in __pds_vfio_dirty_free_sgl()
114 bmp_info->sgl = NULL; in __pds_vfio_dirty_free_sgl()
120 if (pds_vfio->dirty.host_seq.sgl) in pds_vfio_dirty_free_sgl()
122 if (pds_vfio->dirty.host_ack.sgl) in pds_vfio_dirty_free_sgl()
132 struct pds_lm_sg_elem *sgl; in __pds_vfio_dirty_alloc_sgl() local
140 sgl = kzalloc(sgl_size, GFP_KERNEL); in __pds_vfio_dirty_alloc_sgl()
141 if (!sgl) in __pds_vfio_dirty_alloc_sgl()
144 sgl_addr = dma_map_single(pdsc_dev, sgl, sgl_size, DMA_BIDIRECTIONAL); in __pds_vfio_dirty_alloc_sgl()
146 kfree(sgl); in __pds_vfio_dirty_alloc_sgl()
150 bmp_info->sgl = sgl; in __pds_vfio_dirty_alloc_sgl()
[all …]
/openbmc/linux/drivers/xen/
H A Dswiotlb-xen.c321 xen_swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sgl, int nelems, in xen_swiotlb_unmap_sg() argument
329 for_each_sg(sgl, sg, nelems, i) in xen_swiotlb_unmap_sg()
336 xen_swiotlb_map_sg(struct device *dev, struct scatterlist *sgl, int nelems, in xen_swiotlb_map_sg() argument
344 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_map_sg()
354 xen_swiotlb_unmap_sg(dev, sgl, i, dir, attrs | DMA_ATTR_SKIP_CPU_SYNC); in xen_swiotlb_map_sg()
355 sg_dma_len(sgl) = 0; in xen_swiotlb_map_sg()
360 xen_swiotlb_sync_sg_for_cpu(struct device *dev, struct scatterlist *sgl, in xen_swiotlb_sync_sg_for_cpu() argument
366 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_sync_sg_for_cpu()
373 xen_swiotlb_sync_sg_for_device(struct device *dev, struct scatterlist *sgl, in xen_swiotlb_sync_sg_for_device() argument
379 for_each_sg(sgl, sg, nelems, i) { in xen_swiotlb_sync_sg_for_device()
/openbmc/linux/drivers/media/platform/rockchip/rga/
H A Drga-buf.c118 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()
/openbmc/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_fcoe.c29 ddp->sgl = NULL; in ixgbe_fcoe_clear_ddp()
110 if (ddp->sgl) in ixgbe_fcoe_ddp_put()
111 dma_unmap_sg(&adapter->pdev->dev, ddp->sgl, ddp->sgc, in ixgbe_fcoe_ddp_put()
134 struct scatterlist *sgl, unsigned int sgc, in ixgbe_fcoe_ddp_setup() argument
153 if (!netdev || !sgl) in ixgbe_fcoe_ddp_setup()
169 if (ddp->sgl) { in ixgbe_fcoe_ddp_setup()
171 xid, ddp->sgl, ddp->sgc); in ixgbe_fcoe_ddp_setup()
189 dmacount = dma_map_sg(&adapter->pdev->dev, sgl, sgc, DMA_FROM_DEVICE); in ixgbe_fcoe_ddp_setup()
202 ddp->sgl = sgl; in ixgbe_fcoe_ddp_setup()
206 for_each_sg(sgl, sg, dmacount, i) { in ixgbe_fcoe_ddp_setup()
[all …]
/openbmc/linux/drivers/gpu/drm/i915/
H A Di915_scatterlist.h31 } __sgt_iter(struct scatterlist *sgl, bool dma) { in __sgt_iter() argument
32 struct sgt_iter s = { .sgp = sgl }; in __sgt_iter()
90 for ((__iter) = __sgt_iter((__sgt)->sgl, true); \
102 for ((__iter) = __sgt_iter((__sgt)->sgl, false); \
215 rsgt->table.sgl = NULL; in __i915_refct_sgt_init()
/openbmc/linux/drivers/scsi/esas2r/
H A Desas2r_io.c224 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 …]

12345678910>>...21