| /Linux-v5.4/drivers/dma/ |
| D | owl-dma.c | 183 struct owl_dma_vchan *vchan; member 361 static inline int owl_dma_cfg_lli(struct owl_dma_vchan *vchan, in owl_dma_cfg_lli() argument 381 mode |= OWL_DMA_MODE_TS(vchan->drq) in owl_dma_cfg_lli() 394 mode |= OWL_DMA_MODE_TS(vchan->drq) in owl_dma_cfg_lli() 431 struct owl_dma_vchan *vchan) in owl_dma_get_pchan() argument 441 if (!pchan->vchan) { in owl_dma_get_pchan() 442 pchan->vchan = vchan; in owl_dma_get_pchan() 482 pchan->vchan = NULL; in owl_dma_terminate_pchan() 497 static int owl_dma_start_next_txd(struct owl_dma_vchan *vchan) in owl_dma_start_next_txd() argument 499 struct owl_dma *od = to_owl_dma(vchan->vc.chan.device); in owl_dma_start_next_txd() [all …]
|
| D | sun4i-dma.c | 129 struct sun4i_dma_vchan *vchan; member 212 struct sun4i_dma_vchan *vchan = to_sun4i_dma_vchan(chan); in sun4i_dma_free_chan_resources() local 214 vchan_free_chan_resources(&vchan->vc); in sun4i_dma_free_chan_resources() 218 struct sun4i_dma_vchan *vchan) in find_and_use_pchan() argument 228 if (vchan->is_dedicated) { in find_and_use_pchan() 239 pchan->vchan = vchan; in find_and_use_pchan() 256 pchan->vchan = NULL; in release_pchan() 320 struct sun4i_dma_vchan *vchan) in __execute_vchan_pending() argument 328 lockdep_assert_held(&vchan->vc.lock); in __execute_vchan_pending() 331 pchan = find_and_use_pchan(priv, vchan); in __execute_vchan_pending() [all …]
|
| D | sun6i-dma.c | 170 struct sun6i_vchan *vchan; member 387 static inline void sun6i_dma_dump_lli(struct sun6i_vchan *vchan, in sun6i_dma_dump_lli() argument 392 dev_dbg(chan2dev(&vchan->vc.chan), in sun6i_dma_dump_lli() 427 static int sun6i_dma_start_desc(struct sun6i_vchan *vchan) in sun6i_dma_start_desc() argument 429 struct sun6i_dma_dev *sdev = to_sun6i_dma_dev(vchan->vc.chan.device); in sun6i_dma_start_desc() 430 struct virt_dma_desc *desc = vchan_next_desc(&vchan->vc); in sun6i_dma_start_desc() 431 struct sun6i_pchan *pchan = vchan->phy; in sun6i_dma_start_desc() 448 sun6i_dma_dump_lli(vchan, pchan->desc->v_lli); in sun6i_dma_start_desc() 453 vchan->irq_type = vchan->cyclic ? DMA_IRQ_PKG : DMA_IRQ_QUEUE; in sun6i_dma_start_desc() 458 irq_val |= vchan->irq_type << (irq_offset * DMA_IRQ_CHAN_WIDTH); in sun6i_dma_start_desc() [all …]
|
| D | st_fdma.c | 23 return container_of(c, struct st_fdma_chan, vchan.chan); in to_st_fdma_chan() 78 vdesc = vchan_next_desc(&fchan->vchan); in st_fdma_xfer_desc() 84 cmd = FDMA_CMD_START(fchan->vchan.chan.chan_id); in st_fdma_xfer_desc() 93 dev_dbg(fchan->fdev->dev, "start chan:%d\n", fchan->vchan.chan.chan_id); in st_fdma_xfer_desc() 100 int ch_id = fchan->vchan.chan.chan_id; in st_fdma_ch_sta_update() 138 spin_lock(&fchan->vchan.lock); in st_fdma_irq_handler() 156 spin_unlock(&fchan->vchan.lock); in st_fdma_irq_handler() 281 fchan->vchan.chan.chan_id, fchan->cfg.type); in st_fdma_alloc_chan_res() 293 __func__, fchan->vchan.chan.chan_id); in st_fdma_free_chan_res() 298 spin_lock_irqsave(&fchan->vchan.lock, flags); in st_fdma_free_chan_res() [all …]
|
| D | fsl-edma-common.c | 48 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_enable_request() 65 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_disable_request() 109 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_chan_mux() 115 ch_off = fsl_chan->vchan.chan.chan_id % chans_per_mux; in fsl_edma_chan_mux() 161 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_edma_terminate_all() 165 vchan_get_all_descriptors(&fsl_chan->vchan, &head); in fsl_edma_terminate_all() 166 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_edma_terminate_all() 167 vchan_dma_desc_free_list(&fsl_chan->vchan, &head); in fsl_edma_terminate_all() 177 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_edma_pause() 183 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_edma_pause() [all …]
|
| D | idma64.c | 107 struct idma64 *idma64 = to_idma64(idma64c->vchan.chan.device); in idma64_stop_transfer() 114 struct idma64 *idma64 = to_idma64(idma64c->vchan.chan.device); in idma64_start_transfer() 118 vdesc = vchan_next_desc(&idma64c->vchan); in idma64_start_transfer() 142 spin_lock(&idma64c->vchan.lock); in idma64_chan_irq() 159 spin_unlock(&idma64c->vchan.lock); in idma64_chan_irq() 326 return vchan_tx_prep(&idma64c->vchan, &desc->vdesc, flags); in idma64_prep_slave_sg() 334 spin_lock_irqsave(&idma64c->vchan.lock, flags); in idma64_issue_pending() 335 if (vchan_issue_pending(&idma64c->vchan) && !idma64c->desc) in idma64_issue_pending() 337 spin_unlock_irqrestore(&idma64c->vchan.lock, flags); in idma64_issue_pending() 378 spin_lock_irqsave(&idma64c->vchan.lock, flags); in idma64_tx_status() [all …]
|
| D | dma-jz4780.c | 129 struct virt_dma_chan vchan; member 166 return container_of(chan, struct jz4780_dma_chan, vchan.chan); in to_jz4780_dma_chan() 178 return container_of(jzchan->vchan.chan.device, struct jz4780_dma_dev, in jz4780_dma_chan_parent() 395 return vchan_tx_prep(&jzchan->vchan, &desc->vdesc, flags); in jz4780_dma_prep_slave_sg() 447 return vchan_tx_prep(&jzchan->vchan, &desc->vdesc, flags); in jz4780_dma_prep_dma_cyclic() 475 return vchan_tx_prep(&jzchan->vchan, &desc->vdesc, flags); in jz4780_dma_prep_dma_memcpy() 486 vdesc = vchan_next_desc(&jzchan->vchan); in jz4780_dma_begin() 558 spin_lock_irqsave(&jzchan->vchan.lock, flags); in jz4780_dma_issue_pending() 560 if (vchan_issue_pending(&jzchan->vchan) && !jzchan->desc) in jz4780_dma_issue_pending() 563 spin_unlock_irqrestore(&jzchan->vchan.lock, flags); in jz4780_dma_issue_pending() [all …]
|
| D | dma-axi-dmac.c | 109 struct virt_dma_chan vchan; member 143 return container_of(chan->vchan.chan.device, struct axi_dmac, in chan_to_axi_dmac() 149 return container_of(c, struct axi_dmac_chan, vchan.chan); in to_axi_dmac_chan() 210 vdesc = vchan_next_desc(&chan->vchan); in axi_dmac_start_transfer() 410 spin_lock(&dmac->chan.vchan.lock); in axi_dmac_interrupt_handler() 421 spin_unlock(&dmac->chan.vchan.lock); in axi_dmac_interrupt_handler() 433 spin_lock_irqsave(&chan->vchan.lock, flags); in axi_dmac_terminate_all() 436 vchan_get_all_descriptors(&chan->vchan, &head); in axi_dmac_terminate_all() 438 spin_unlock_irqrestore(&chan->vchan.lock, flags); in axi_dmac_terminate_all() 440 vchan_dma_desc_free_list(&chan->vchan, &head); in axi_dmac_terminate_all() [all …]
|
| D | stm32-dma.c | 192 struct virt_dma_chan vchan; member 217 return container_of(chan->vchan.chan.device, struct stm32_dma_device, in stm32_dma_get_dev() 223 return container_of(c, struct stm32_dma_chan, vchan.chan); in to_stm32_dma_chan() 233 return &chan->vchan.chan.dev->device; in chan2dev() 489 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_dma_terminate_all() 496 vchan_get_all_descriptors(&chan->vchan, &head); in stm32_dma_terminate_all() 497 spin_unlock_irqrestore(&chan->vchan.lock, flags); in stm32_dma_terminate_all() 498 vchan_dma_desc_free_list(&chan->vchan, &head); in stm32_dma_terminate_all() 507 vchan_synchronize(&chan->vchan); in stm32_dma_synchronize() 544 vdesc = vchan_next_desc(&chan->vchan); in stm32_dma_start_transfer() [all …]
|
| D | stm32-mdma.c | 259 struct virt_dma_chan vchan; member 287 return container_of(chan->vchan.chan.device, struct stm32_mdma_device, in stm32_mdma_get_dev() 293 return container_of(c, struct stm32_mdma_chan, vchan.chan); in to_stm32_mdma_chan() 303 return &chan->vchan.chan.dev->device; in chan2dev() 810 return vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); in stm32_mdma_prep_slave_sg() 901 return vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); in stm32_mdma_prep_dma_cyclic() 1087 return vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); in stm32_mdma_prep_dma_memcpy() 1124 vdesc = vchan_next_desc(&chan->vchan); in stm32_mdma_start_transfer() 1163 dev_dbg(chan2dev(chan), "vchan %pK: started\n", &chan->vchan); in stm32_mdma_start_transfer() 1171 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_mdma_issue_pending() [all …]
|
| D | st_fdma.h | 125 struct virt_dma_chan vchan; member 186 + (fchan)->vchan.chan.chan_id * 0x4 \ 191 + (fchan)->vchan.chan.chan_id * 0x4 \ 208 + (fchan)->vchan.chan.chan_id * FDMA_NODE_SZ \ 213 + (fchan)->vchan.chan.chan_id * FDMA_NODE_SZ \
|
| D | fsl-qdma.c | 165 struct virt_dma_chan vchan; member 284 return container_of(chan, struct fsl_qdma_chan, vchan.chan); in to_fsl_qdma_chan() 301 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources() 302 vchan_get_all_descriptors(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources() 303 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources() 305 vchan_dma_desc_free_list(&fsl_chan->vchan, &head); in fsl_qdma_free_chan_resources() 689 spin_lock(&fsl_comp->qchan->vchan.lock); in fsl_qdma_queue_transfer_complete() 692 spin_unlock(&fsl_comp->qchan->vchan.lock); in fsl_qdma_queue_transfer_complete() 934 return vchan_tx_prep(&fsl_chan->vchan, &fsl_comp->vdesc, flags); in fsl_qdma_prep_memcpy() 948 vdesc = vchan_next_desc(&fsl_chan->vchan); in fsl_qdma_enqueue_desc() [all …]
|
| D | fsl-edma.c | 27 vchan_synchronize(&fsl_chan->vchan); in fsl_edma_synchronize() 47 spin_lock(&fsl_chan->vchan.lock); in fsl_edma_tx_handler() 61 spin_unlock(&fsl_chan->vchan.lock); in fsl_edma_tx_handler() 345 fsl_chan->vchan.desc_free = fsl_edma_free_desc; in fsl_edma_probe() 346 vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); in fsl_edma_probe() 428 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_edma_suspend_late() 437 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_edma_suspend_late()
|
| D | pxa_dma.c | 100 struct pxad_chan *vchan; member 151 dev_vdbg(&phy->vchan->vc.chan.dev->device, \ 159 dev_vdbg(&phy->vchan->vc.chan.dev->device, \ 166 dev_vdbg(&phy->vchan->vc.chan.dev->device, \ 390 if (!phy->vchan) { in lookup_phy() 391 phy->vchan = pchan; in lookup_phy() 425 chan->phy->vchan = NULL; in pxad_free_phy() 455 if (!phy->vchan) in phy_enable() 458 dev_dbg(&phy->vchan->vc.chan.dev->device, in phy_enable() 462 pdev = to_pxad_dev(phy->vchan->vc.chan.device); in phy_enable() [all …]
|
| D | mcf-edma.c | 37 spin_lock(&mcf_chan->vchan.lock); in mcf_edma_tx_handler() 51 spin_unlock(&mcf_chan->vchan.lock); in mcf_edma_tx_handler() 223 mcf_chan->vchan.desc_free = fsl_edma_free_desc; in mcf_edma_probe() 224 vchan_init(&mcf_chan->vchan, &mcf_edma->dma_dev); in mcf_edma_probe()
|
| D | mmp_pdma.c | 120 struct mmp_pdma_chan *vchan; member 156 if (!phy->vchan) in enable_chan() 159 reg = DRCMR(phy->vchan->drcmr); in enable_chan() 163 if (phy->vchan->byte_align) in enable_chan() 196 if ((dcsr & DCSR_BUSERR) && (phy->vchan)) in clear_chan_irq() 197 dev_warn(phy->vchan->dev, "DCSR_BUSERR\n"); in clear_chan_irq() 209 tasklet_schedule(&phy->vchan->tasklet); in mmp_pdma_chan_handler() 261 if (!phy->vchan) { in lookup_phy() 262 phy->vchan = pchan; in lookup_phy() 288 pchan->phy->vchan = NULL; in mmp_pdma_free_phy()
|
| D | idma64.h | 128 struct virt_dma_chan vchan; member 143 return container_of(chan, struct idma64_chan, vchan.chan); in to_idma64_chan()
|
| D | zx_dma.c | 112 struct zx_dma_chan *vchan; member 234 p->vchan = NULL; in zx_dma_task() 245 if (!p->vchan) { in zx_dma_task() 250 p->vchan = c; in zx_dma_task() 261 c = p->vchan; in zx_dma_task() 286 c = p->vchan; in zx_dma_int_handler() 681 p->vchan = NULL; in zx_dma_terminate_all()
|
| D | k3dma.c | 94 struct k3_dma_chan *vchan; member 229 c = p->vchan; in k3_dma_int_handler() 311 p->vchan = NULL; in k3_dma_tasklet() 325 if (p->vchan == NULL && !list_empty(&d->chan_pending)) { in k3_dma_tasklet() 332 p->vchan = c; in k3_dma_tasklet() 345 c = p->vchan; in k3_dma_tasklet() 737 p->vchan = NULL; in k3_dma_terminate_all()
|
| /Linux-v5.4/drivers/dma/hsu/ |
| D | hsu.c | 113 vdesc = vchan_next_desc(&hsuc->vchan); in hsu_dma_start_transfer() 160 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_get_status() 162 spin_unlock_irqrestore(&hsuc->vchan.lock, flags); in hsu_dma_get_status() 214 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_do_irq() 227 spin_unlock_irqrestore(&hsuc->vchan.lock, flags); in hsu_dma_do_irq() 284 return vchan_tx_prep(&hsuc->vchan, &desc->vdesc, flags); in hsu_dma_prep_slave_sg() 292 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_issue_pending() 293 if (vchan_issue_pending(&hsuc->vchan) && !hsuc->desc) in hsu_dma_issue_pending() 295 spin_unlock_irqrestore(&hsuc->vchan.lock, flags); in hsu_dma_issue_pending() 328 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_tx_status() [all …]
|
| D | hsu.h | 83 struct virt_dma_chan vchan; member 96 return container_of(chan, struct hsu_dma_chan, vchan.chan); in to_hsu_dma_chan()
|
| /Linux-v5.4/drivers/staging/ralink-gdma/ |
| D | ralink-gdma.c | 108 struct virt_dma_chan vchan; member 141 return container_of(chan->vchan.chan.device, struct gdma_dma_dev, in gdma_dma_chan_get_dev() 147 return container_of(c, struct gdma_dmaengine_chan, vchan.chan); in to_gdma_dma_chan() 228 spin_lock_irqsave(&chan->vchan.lock, flags); in gdma_dma_terminate_all() 231 vchan_get_all_descriptors(&chan->vchan, &head); in gdma_dma_terminate_all() 232 spin_unlock_irqrestore(&chan->vchan.lock, flags); in gdma_dma_terminate_all() 234 vchan_dma_desc_free_list(&chan->vchan, &head); in gdma_dma_terminate_all() 417 vdesc = vchan_next_desc(&chan->vchan); in gdma_next_desc() 436 spin_lock_irqsave(&chan->vchan.lock, flags); in gdma_dma_chan_irq() 460 spin_unlock_irqrestore(&chan->vchan.lock, flags); in gdma_dma_chan_irq() [all …]
|
| /Linux-v5.4/drivers/staging/mt7621-dma/ |
| D | mtk-hsdma.c | 144 struct virt_dma_chan vchan; member 168 return container_of(chan->vchan.chan.device, struct mtk_hsdam_engine, in mtk_hsdma_chan_get_dev() 174 return container_of(c, struct mtk_hsdma_chan, vchan.chan); in to_mtk_hsdma_chan() 291 spin_lock_bh(&chan->vchan.lock); in mtk_hsdma_terminate_all() 294 vchan_get_all_descriptors(&chan->vchan, &head); in mtk_hsdma_terminate_all() 295 spin_unlock_bh(&chan->vchan.lock); in mtk_hsdma_terminate_all() 297 vchan_dma_desc_free_list(&chan->vchan, &head); in mtk_hsdma_terminate_all() 390 vdesc = vchan_next_desc(&chan->vchan); in gdma_next_desc() 408 spin_lock_bh(&chan->vchan.lock); in mtk_hsdma_chan_done() 422 spin_unlock_bh(&chan->vchan.lock); in mtk_hsdma_chan_done() [all …]
|
| /Linux-v5.4/drivers/dma/ti/ |
| D | edma.c | 225 struct virt_dma_chan vchan; member 748 return container_of(c, struct edma_chan, vchan.chan); in to_edma_chan() 767 struct device *dev = echan->vchan.chan.device->dev; in edma_execute() 772 vdesc = vchan_next_desc(&echan->vchan); in edma_execute() 861 spin_lock_irqsave(&echan->vchan.lock, flags); in edma_terminate_all() 878 vchan_get_all_descriptors(&echan->vchan, &head); in edma_terminate_all() 879 spin_unlock_irqrestore(&echan->vchan.lock, flags); in edma_terminate_all() 880 vchan_dma_desc_free_list(&echan->vchan, &head); in edma_terminate_all() 889 vchan_synchronize(&echan->vchan); in edma_synchronize() 1146 return vchan_tx_prep(&echan->vchan, &edesc->vdesc, tx_flags); in edma_prep_slave_sg() [all …]
|
| /Linux-v5.4/arch/sh/drivers/dma/ |
| D | dma-sysfs.c | 84 dma_configure_channel(channel->vchan, config); in dma_store_config() 127 dev->id = chan->vchan; in dma_create_sysfs_files()
|