/kernel/linux/linux-5.10/drivers/dma/dw-edma/ |
H A D | dw-edma-core.c | 360 if (xfer->cyclic) { in dw_edma_device_transfer() 361 if (!xfer->xfer.cyclic.len || !xfer->xfer.cyclic.cnt) in dw_edma_device_transfer() 379 if (xfer->cyclic) { in dw_edma_device_transfer() 380 cnt = xfer->xfer.cyclic.cnt; in dw_edma_device_transfer() 387 if (!xfer->cyclic && !sg) in dw_edma_device_transfer() 400 if (xfer->cyclic) in dw_edma_device_transfer() 401 burst->sz = xfer->xfer.cyclic.len; in dw_edma_device_transfer() 410 if (xfer->cyclic) { in dw_edma_device_transfer() 411 burst->dar = xfer->xfer.cyclic in dw_edma_device_transfer() [all...] |
H A D | dw-edma-core.h | 150 struct dw_edma_cyclic cyclic; member 154 bool cyclic; member
|
/kernel/linux/linux-5.10/drivers/dma/ |
H A D | virt-dma.h | 36 struct virt_dma_desc *cyclic; member 135 vc->cyclic = vd; in vchan_cyclic_callback() 140 * vchan_terminate_vdesc - Disable pending cyclic callback 151 if (vc->cyclic == vd) in vchan_terminate_vdesc() 152 vc->cyclic = NULL; in vchan_terminate_vdesc() 209 * Free up the terminated cyclic descriptor to prevent memory leakage.
|
H A D | virt-dma.c | 92 vd = vc->cyclic; in vchan_complete() 94 vc->cyclic = NULL; in vchan_complete()
|
H A D | dma-axi-dmac.c | 110 bool cyclic; member 227 /* Already queued in cyclic mode. Wait for it to finish */ in axi_dmac_start_transfer() 236 if (desc->cyclic) in axi_dmac_start_transfer() 258 * If the hardware supports cyclic transfers and there is no callback to in axi_dmac_start_transfer() 259 * call and only a single segment, enable hw cyclic mode to avoid in axi_dmac_start_transfer() 262 if (chan->hw_cyclic && desc->cyclic && !desc->vdesc.tx.callback && in axi_dmac_start_transfer() 389 if (active->cyclic) in axi_dmac_transfer_done() 394 if (active->cyclic) { in axi_dmac_transfer_done() 571 desc->cyclic = false; in axi_dmac_prep_slave_sg() 605 desc->cyclic in axi_dmac_prep_dma_cyclic() [all...] |
H A D | sirf-dma.c | 91 bool cyclic; /* is loop DMA? */ member 189 if (sdesc->cyclic) in sirfsoc_dma_execute_hw_a7v2() 207 if (sdesc->cyclic) { in sirfsoc_dma_execute_hw_a7v1() 227 if (sdesc->cyclic) { in sirfsoc_dma_execute_hw_a6() 259 if (sdesc->cyclic) in sirfsoc_dma_execute() 286 if (!sdesc->cyclic) { in sirfsoc_dma_irq() 308 if (!sdesc->cyclic) { in sirfsoc_dma_irq() 320 } else if (sdesc->cyclic && (is & in sirfsoc_dma_irq() 378 /* for cyclic channel, desc is always in active list */ in sirfsoc_dma_process_completed() 382 /* cyclic DM in sirfsoc_dma_process_completed() [all...] |
H A D | bcm2835-dma.c | 93 bool cyclic; member 243 * which is required during cyclic transfers in bcm2835_dma_create_cb_set_length() 285 * @cyclic: it is a cyclic transfer 297 * (or when period_len is reached in case of cyclic) 302 bool cyclic, u32 info, u32 finalextrainfo, size_t frames, in bcm2835_dma_create_cb_chain() 323 d->cyclic = cyclic; in bcm2835_dma_create_cb_chain() 349 cyclic ? finalextrainfo : 0); in bcm2835_dma_create_cb_chain() 475 * active in case the descriptor is cyclic o in bcm2835_dma_callback() 300 bcm2835_dma_create_cb_chain( struct dma_chan *chan, enum dma_transfer_direction direction, bool cyclic, u32 info, u32 finalextrainfo, size_t frames, dma_addr_t src, dma_addr_t dst, size_t buf_len, size_t period_len, gfp_t gfp) bcm2835_dma_create_cb_chain() argument [all...] |
H A D | owl-dma.c | 174 * @cyclic: flag to indicate cyclic transfers 179 bool cyclic; member 555 if (txd->cyclic) in owl_dma_start_next_txd() 898 &vchan->cfg, txd->cyclic); in owl_dma_prep_memcpy() 962 txd->cyclic); in owl_dma_prep_slave_sg() 1000 txd->cyclic = true; in owl_prep_dma_cyclic() 1018 dir, sconfig, txd->cyclic); in owl_prep_dma_cyclic() 1030 /* close the cyclic list */ in owl_prep_dma_cyclic()
|
/kernel/linux/linux-6.6/drivers/dma/ |
H A D | virt-dma.h | 36 struct virt_dma_desc *cyclic; member 135 vc->cyclic = vd; in vchan_cyclic_callback() 140 * vchan_terminate_vdesc - Disable pending cyclic callback 151 if (vc->cyclic == vd) in vchan_terminate_vdesc() 152 vc->cyclic = NULL; in vchan_terminate_vdesc() 209 * Free up the terminated cyclic descriptor to prevent memory leakage.
|
H A D | virt-dma.c | 92 vd = vc->cyclic; in vchan_complete() 94 vc->cyclic = NULL; in vchan_complete()
|
H A D | dma-axi-dmac.c | 114 bool cyclic; member 231 /* Already queued in cyclic mode. Wait for it to finish */ in axi_dmac_start_transfer() 240 if (desc->cyclic) in axi_dmac_start_transfer() 262 * If the hardware supports cyclic transfers and there is no callback to in axi_dmac_start_transfer() 263 * call and only a single segment, enable hw cyclic mode to avoid in axi_dmac_start_transfer() 266 if (chan->hw_cyclic && desc->cyclic && !desc->vdesc.tx.callback && in axi_dmac_start_transfer() 393 if (active->cyclic) in axi_dmac_transfer_done() 398 if (active->cyclic) { in axi_dmac_transfer_done() 575 desc->cyclic = false; in axi_dmac_prep_slave_sg() 609 desc->cyclic in axi_dmac_prep_dma_cyclic() [all...] |
H A D | bcm2835-dma.c | 93 bool cyclic; member 243 * which is required during cyclic transfers in bcm2835_dma_create_cb_set_length() 285 * @cyclic: it is a cyclic transfer 297 * (or when period_len is reached in case of cyclic) 302 bool cyclic, u32 info, u32 finalextrainfo, size_t frames, in bcm2835_dma_create_cb_chain() 323 d->cyclic = cyclic; in bcm2835_dma_create_cb_chain() 349 cyclic ? finalextrainfo : 0); in bcm2835_dma_create_cb_chain() 475 * active in case the descriptor is cyclic o in bcm2835_dma_callback() 300 bcm2835_dma_create_cb_chain( struct dma_chan *chan, enum dma_transfer_direction direction, bool cyclic, u32 info, u32 finalextrainfo, size_t frames, dma_addr_t src, dma_addr_t dst, size_t buf_len, size_t period_len, gfp_t gfp) bcm2835_dma_create_cb_chain() argument [all...] |
H A D | stm32-dma.c | 192 bool cyclic; member 551 if (chan->desc->cyclic && (chan->next_sg == chan->desc->num_sgs)) in stm32_dma_sg_inc() 606 if (chan->desc->cyclic) in stm32_dma_start_transfer() 656 * complete. If transfer is cyclic and CIRC and DBM have been deactivated for resume, need in stm32_dma_handle_chan_paused() 659 if (chan->desc && chan->desc->cyclic) { in stm32_dma_handle_chan_paused() 671 if (chan->desc && chan->desc->cyclic) { in stm32_dma_handle_chan_paused() 740 if (chan->desc->cyclic) { in stm32_dma_handle_chan_done() 745 /* cyclic while CIRC/DBM disable => post resume reconfiguration needed */ in stm32_dma_handle_chan_done() 1148 desc->cyclic = false; in stm32_dma_prep_slave_sg() 1239 desc->cyclic in stm32_dma_prep_dma_cyclic() [all...] |
H A D | tegra186-gpc-dma.c | 217 bool cyclic; member 480 /* Reset the sg index for cyclic transfers */ in tegra_dma_configure_next_sg() 619 if (dma_desc->cyclic) { in tegra_dma_isr() 648 * For cyclic DMA transfers, program the second in tegra_dma_issue_pending() 654 if (tdc->dma_desc && tdc->dma_desc->cyclic) in tegra_dma_issue_pending() 740 * for the next transfer, specifically in case of cyclic transfers. in tegra_dma_get_residual() 918 dma_desc->cyclic = false; in tegra_dma_prep_dma_memset() 988 dma_desc->cyclic = false; in tegra_dma_prep_dma_memcpy() 1108 dma_desc->cyclic = false; in tegra_dma_prep_slave_sg() 1231 dma_desc->cyclic in tegra_dma_prep_dma_cyclic() [all...] |
H A D | owl-dma.c | 175 * @cyclic: flag to indicate cyclic transfers 180 bool cyclic; member 556 if (txd->cyclic) in owl_dma_start_next_txd() 899 &vchan->cfg, txd->cyclic); in owl_dma_prep_memcpy() 963 txd->cyclic); in owl_dma_prep_slave_sg() 1001 txd->cyclic = true; in owl_prep_dma_cyclic() 1019 dir, sconfig, txd->cyclic); in owl_prep_dma_cyclic() 1031 /* close the cyclic list */ in owl_prep_dma_cyclic()
|
/kernel/linux/linux-6.6/drivers/dma/dw-edma/ |
H A D | dw-edma-core.c | 415 if (!xfer->xfer.cyclic.len || !xfer->xfer.cyclic.cnt) in dw_edma_device_transfer() 451 cnt = xfer->xfer.cyclic.cnt; in dw_edma_device_transfer() 475 burst->sz = xfer->xfer.cyclic.len; in dw_edma_device_transfer() 487 burst->dar = xfer->xfer.cyclic.paddr; in dw_edma_device_transfer() 504 burst->sar = xfer->xfer.cyclic.paddr; in dw_edma_device_transfer() 573 xfer.xfer.cyclic.paddr = paddr; in dw_edma_device_prep_dma_cyclic() 574 xfer.xfer.cyclic.len = len; in dw_edma_device_prep_dma_cyclic() 575 xfer.xfer.cyclic.cnt = count; in dw_edma_device_prep_dma_cyclic()
|
/kernel/linux/linux-5.10/drivers/dma/sh/ |
H A D | rcar-dmac.c | 70 * @cyclic: when set indicates that the DMA transfer is cyclic 91 bool cyclic; member 400 * If the descriptor isn't cyclic enable normal descriptor mode in rcar_dmac_chan_start_xfer() 403 if (!desc->cyclic) in rcar_dmac_chan_start_xfer() 406 * If the descriptor is cyclic and has a callback enable the in rcar_dmac_chan_start_xfer() 904 bool cyclic) in rcar_dmac_chan_prep_sg() 926 desc->cyclic = cyclic; in rcar_dmac_chan_prep_sg() 1403 bool cyclic; in rcar_dmac_tx_status() local 901 rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl, unsigned int sg_len, dma_addr_t dev_addr, enum dma_transfer_direction dir, unsigned long dma_flags, bool cyclic) rcar_dmac_chan_prep_sg() argument [all...] |
H A D | shdma-base.c | 400 if (all || !desc->cyclic) { in __ld_cleanup() 405 /* reuse as cyclic */ in __ld_cleanup() 562 enum dma_transfer_direction direction, unsigned long flags, bool cyclic) in shdma_prep_sg() 610 new->cyclic = cyclic; in shdma_prep_sg() 611 if (cyclic) in shdma_prep_sg() 560 shdma_prep_sg(struct shdma_chan *schan, struct scatterlist *sgl, unsigned int sg_len, dma_addr_t *addr, enum dma_transfer_direction direction, unsigned long flags, bool cyclic) shdma_prep_sg() argument
|
/kernel/linux/linux-6.6/drivers/dma/sh/ |
H A D | rcar-dmac.c | 70 * @cyclic: when set indicates that the DMA transfer is cyclic 91 bool cyclic; member 431 * If the descriptor isn't cyclic enable normal descriptor mode in rcar_dmac_chan_start_xfer() 434 if (!desc->cyclic) in rcar_dmac_chan_start_xfer() 437 * If the descriptor is cyclic and has a callback enable the in rcar_dmac_chan_start_xfer() 931 bool cyclic) in rcar_dmac_chan_prep_sg() 953 desc->cyclic = cyclic; in rcar_dmac_chan_prep_sg() 1430 bool cyclic; in rcar_dmac_tx_status() local 928 rcar_dmac_chan_prep_sg(struct rcar_dmac_chan *chan, struct scatterlist *sgl, unsigned int sg_len, dma_addr_t dev_addr, enum dma_transfer_direction dir, unsigned long dma_flags, bool cyclic) rcar_dmac_chan_prep_sg() argument [all...] |
H A D | shdma-base.c | 400 if (all || !desc->cyclic) { in __ld_cleanup() 405 /* reuse as cyclic */ in __ld_cleanup() 562 enum dma_transfer_direction direction, unsigned long flags, bool cyclic) in shdma_prep_sg() 610 new->cyclic = cyclic; in shdma_prep_sg() 611 if (cyclic) in shdma_prep_sg() 560 shdma_prep_sg(struct shdma_chan *schan, struct scatterlist *sgl, unsigned int sg_len, dma_addr_t *addr, enum dma_transfer_direction direction, unsigned long flags, bool cyclic) shdma_prep_sg() argument
|
/kernel/linux/linux-5.10/drivers/staging/ralink-gdma/ |
H A D | ralink-gdma.c | 100 bool cyclic; member 439 if (desc->cyclic) { in gdma_dma_chan_irq() 552 desc->cyclic = false; in gdma_dma_prep_slave_sg() 599 desc->cyclic = false; in gdma_dma_prep_dma_memcpy() 617 dev_err(c->device->dev, "cyclic len too large %d\n", in gdma_dma_prep_dma_cyclic() 625 dev_err(c->device->dev, "alloc cyclic decs error\n"); in gdma_dma_prep_dma_cyclic() 646 desc->cyclic = true; in gdma_dma_prep_dma_cyclic() 673 * We never update edesc->residue in the cyclic case, so we in gdma_dma_tx_status() 677 if (desc->cyclic) in gdma_dma_tx_status()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | shdma-base.h | 54 bool cyclic; /* used as cyclic transfer */ member
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | shdma-base.h | 54 bool cyclic; /* used as cyclic transfer */ member
|
/kernel/linux/linux-5.10/drivers/dma/xilinx/ |
H A D | xilinx_dma.c | 362 * @cyclic: Check for cyclic transfers. 370 bool cyclic; member 393 * @cyclic: Check for cyclic transfers. 407 * @cyclic_seg_v: Statically allocated segment base for cyclic transfers 408 * @cyclic_seg_p: Physical allocated segments base for cyclic dma 431 bool cyclic; member 917 /* Free Memory that is allocated for cyclic DMA Mode */ in xilinx_dma_free_chan_resources() 1027 if (desc->cyclic) { in xilinx_dma_chan_desc_cleanup() [all...] |
/kernel/linux/linux-6.6/drivers/dma/xilinx/ |
H A D | xilinx_dma.c | 365 * @cyclic: Check for cyclic transfers. 373 bool cyclic; member 396 * @cyclic: Check for cyclic transfers. 410 * @cyclic_seg_v: Statically allocated segment base for cyclic transfers 411 * @cyclic_seg_p: Physical allocated segments base for cyclic dma 435 bool cyclic; member 947 /* Free Memory that is allocated for cyclic DMA Mode */ in xilinx_dma_free_chan_resources() 1055 if (desc->cyclic) { in xilinx_dma_chan_desc_cleanup() [all...] |