/openbmc/linux/drivers/dma/ |
H A D | owl-dma.c | 480 pchan->vchan = vchan; in owl_dma_get_pchan() 547 vchan->txd = txd; in owl_dma_start_next_txd() 645 vchan = pchan->vchan; in owl_dma_interrupt() 646 if (!vchan) { in owl_dma_interrupt() 654 txd = vchan->txd; in owl_dma_interrupt() 706 if (vchan->pchan) in owl_dma_terminate_all() 709 if (vchan->txd) { in owl_dma_terminate_all() 711 vchan->txd = NULL; in owl_dma_terminate_all() 757 if (!vchan->pchan && !vchan->txd) in owl_dma_resume() 780 txd = vchan->txd; in owl_dma_getbytes_chan() [all …]
|
H A D | sun4i-dma.c | 239 if (vchan->is_dedicated) { in find_and_use_pchan() 250 pchan->vchan = vchan; in find_and_use_pchan() 267 pchan->vchan = NULL; in release_pchan() 350 if (vchan->processing) { in __execute_vchan_pending() 385 vchan->pchan = pchan; in __execute_vchan_pending() 644 if (vchan->is_dedicated) in sun4i_dma_prep_dma_memcpy() 770 if (vchan->is_dedicated) in sun4i_dma_prep_dma_cyclic() 861 if (vchan->is_dedicated) in sun4i_dma_prep_slave_sg() 915 vchan->pchan = NULL; in sun4i_dma_terminate_all() 1049 vchan = pchan->vchan; in sun4i_dma_interrupt() [all …]
|
H A D | sun6i-dma.c | 460 vchan->irq_type = vchan->cyclic ? DMA_IRQ_PKG : DMA_IRQ_QUEUE; in sun6i_dma_start_desc() 488 pchan = vchan->phy; in sun6i_dma_tasklet() 521 pchan->vchan = vchan; in sun6i_dma_tasklet() 533 vchan = pchan->vchan; in sun6i_dma_tasklet() 534 if (vchan) { in sun6i_dma_tasklet() 562 vchan = pchan->vchan; in sun6i_dma_interrupt() 563 if (vchan && (status & vchan->irq_type)) { in sun6i_dma_interrupt() 939 vchan->phy = NULL; in sun6i_dma_terminate_all() 1001 if (!vchan->phy && list_empty(&vchan->node)) { in sun6i_dma_issue_pending() 1005 &vchan->vc); in sun6i_dma_issue_pending() [all …]
|
H A D | st_fdma.c | 79 vdesc = vchan_next_desc(&fchan->vchan); in st_fdma_xfer_desc() 101 int ch_id = fchan->vchan.chan.chan_id; in st_fdma_ch_sta_update() 139 spin_lock(&fchan->vchan.lock); in st_fdma_irq_handler() 157 spin_unlock(&fchan->vchan.lock); in st_fdma_irq_handler() 294 __func__, fchan->vchan.chan.chan_id); in st_fdma_free_chan_res() 351 int ch_id = fchan->vchan.chan.chan_id; in config_reqctrl() 624 int ch_id = fchan->vchan.chan.chan_id; in st_fdma_pause() 642 int ch_id = fchan->vchan.chan.chan_id; in st_fdma_resume() 662 int ch_id = fchan->vchan.chan.chan_id; in st_fdma_terminate_all() 734 list_del(&fchan->vchan.chan.device_node); in st_fdma_free() [all …]
|
H A D | fsl-edma-common.c | 47 spin_lock(&fsl_chan->vchan.lock); in fsl_edma_tx_chan_handler() 51 spin_unlock(&fsl_chan->vchan.lock); in fsl_edma_tx_chan_handler() 68 spin_unlock(&fsl_chan->vchan.lock); in fsl_edma_tx_chan_handler() 112 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_enable_request() 146 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_disable_request() 192 u32 ch = fsl_chan->vchan.chan.chan_id; in fsl_edma_chan_mux() 245 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_edma_terminate_all() 770 lockdep_assert_held(&fsl_chan->vchan.lock); in fsl_edma_xfer_desc() 772 vdesc = vchan_next_desc(&fsl_chan->vchan); in fsl_edma_xfer_desc() 840 list_del(&chan->vchan.chan.device_node); in fsl_edma_cleanup_vchan() [all …]
|
H A D | idma64.c | 118 vdesc = vchan_next_desc(&idma64c->vchan); in idma64_start_transfer() 143 stat = this_cpu_ptr(idma64c->vchan.chan.local); in idma64_chan_irq() 145 spin_lock(&idma64c->vchan.lock); in idma64_chan_irq() 163 spin_unlock(&idma64c->vchan.lock); in idma64_chan_irq() 342 spin_lock_irqsave(&idma64c->vchan.lock, flags); in idma64_issue_pending() 386 spin_lock_irqsave(&idma64c->vchan.lock, flags); in idma64_tx_status() 453 spin_lock_irqsave(&idma64c->vchan.lock, flags); in idma64_pause() 502 vchan_synchronize(&idma64c->vchan); in idma64_synchronize() 570 idma64c->vchan.desc_free = idma64_vdesc_free; in idma64_probe() 571 vchan_init(&idma64c->vchan, &idma64->dma); in idma64_probe() [all …]
|
H A D | dma-jz4780.c | 130 struct virt_dma_chan vchan; member 494 vdesc = vchan_next_desc(&jzchan->vchan); in jz4780_dma_begin() 605 vchan_synchronize(&jzchan->vchan); in jz4780_dma_synchronize() 684 spin_lock(&jzchan->vchan.lock); in jz4780_dma_chan_irq() 690 dev_warn(&jzchan->vchan.chan.dev->device, in jz4780_dma_chan_irq() 695 dev_warn(&jzchan->vchan.chan.dev->device, in jz4780_dma_chan_irq() 724 dev_err(&jzchan->vchan.chan.dev->device, in jz4780_dma_chan_irq() 728 spin_unlock(&jzchan->vchan.lock); in jz4780_dma_chan_irq() 780 vchan_free_chan_resources(&jzchan->vchan); in jz4780_dma_free_chan_resources() 844 &jzdma->chan[data.channel].vchan.chan); in jz4780_of_dma_xlate() [all …]
|
H A D | stm32-dma.c | 211 struct virt_dma_chan vchan; member 254 return &chan->vchan.chan.dev->device; in chan2dev() 506 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_dma_terminate_all() 527 vchan_synchronize(&chan->vchan); in stm32_dma_synchronize() 571 vdesc = vchan_next_desc(&chan->vchan); in stm32_dma_start_transfer() 767 spin_lock(&chan->vchan.lock); in stm32_dma_chan_irq() 812 spin_unlock(&chan->vchan.lock); in stm32_dma_chan_irq() 822 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_dma_issue_pending() 840 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_dma_pause() 867 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_dma_resume() [all …]
|
H A D | dma-axi-dmac.c | 124 struct virt_dma_chan vchan; member 223 vdesc = vchan_next_desc(&chan->vchan); in axi_dmac_start_transfer() 423 spin_lock(&dmac->chan.vchan.lock); in axi_dmac_interrupt_handler() 434 spin_unlock(&dmac->chan.vchan.lock); in axi_dmac_interrupt_handler() 446 spin_lock_irqsave(&chan->vchan.lock, flags); in axi_dmac_terminate_all() 453 vchan_dma_desc_free_list(&chan->vchan, &head); in axi_dmac_terminate_all() 462 vchan_synchronize(&chan->vchan); in axi_dmac_synchronize() 473 spin_lock_irqsave(&chan->vchan.lock, flags); in axi_dmac_issue_pending() 474 if (vchan_issue_pending(&chan->vchan)) in axi_dmac_issue_pending() 973 vchan_init(&dmac->chan.vchan, dma_dev); in axi_dmac_probe() [all …]
|
H A 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 \
|
H A D | fsl-qdma.c | 177 struct virt_dma_chan vchan; member 314 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_qdma_free_chan_resources() 731 spin_lock(&fsl_comp->qchan->vchan.lock); in fsl_qdma_queue_transfer_complete() 734 spin_unlock(&fsl_comp->qchan->vchan.lock); in fsl_qdma_queue_transfer_complete() 1001 vdesc = vchan_next_desc(&fsl_chan->vchan); in fsl_qdma_enqueue_desc() 1041 spin_lock(&fsl_chan->vchan.lock); in fsl_qdma_issue_pending() 1042 if (vchan_issue_pending(&fsl_chan->vchan)) in fsl_qdma_issue_pending() 1044 spin_unlock(&fsl_chan->vchan.lock); in fsl_qdma_issue_pending() 1052 vchan_synchronize(&fsl_chan->vchan); in fsl_qdma_synchronize() 1265 list_del(&chan->vchan.chan.device_node); in fsl_qdma_cleanup_vchan() [all …]
|
H A D | stm32-mdma.c | 237 struct virt_dma_chan vchan; member 281 return &chan->vchan.chan.dev->device; in chan2dev() 1150 vdesc = vchan_next_desc(&chan->vchan); in stm32_mdma_start_transfer() 1199 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_mdma_issue_pending() 1201 if (!vchan_issue_pending(&chan->vchan)) in stm32_mdma_issue_pending() 1219 spin_lock_irqsave(&chan->vchan.lock, flags); in stm32_mdma_pause() 1295 vchan_synchronize(&chan->vchan); in stm32_mdma_synchronize() 1416 spin_lock(&chan->vchan.lock); in stm32_mdma_irq_handler() 1424 spin_unlock(&chan->vchan.lock); in stm32_mdma_irq_handler() 1477 spin_unlock(&chan->vchan.lock); in stm32_mdma_irq_handler() [all …]
|
H A D | pxa_dma.c | 100 struct pxad_chan *vchan; member 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() 464 reg = pxad_drcmr(phy->vchan->drcmr); in phy_enable() 487 dev_dbg(&phy->vchan->vc.chan.dev->device, in phy_disable() 598 __func__, &phy->vchan); in clear_chan_irq() 606 struct pxad_chan *chan = phy->vchan; in pxad_chan_handler() [all …]
|
H A D | mmp_pdma.c | 119 struct mmp_pdma_chan *vchan; member 155 if (!phy->vchan) in enable_chan() 158 reg = DRCMR(phy->vchan->drcmr); in enable_chan() 162 if (phy->vchan->byte_align) in enable_chan() 195 if ((dcsr & DCSR_BUSERR) && (phy->vchan)) in clear_chan_irq() 196 dev_warn(phy->vchan->dev, "DCSR_BUSERR\n"); in clear_chan_irq() 208 tasklet_schedule(&phy->vchan->tasklet); in mmp_pdma_chan_handler() 260 if (!phy->vchan) { in lookup_phy() 261 phy->vchan = pchan; in lookup_phy() 287 pchan->phy->vchan = NULL; in mmp_pdma_free_phy()
|
H A D | idma64.h | 128 struct virt_dma_chan vchan; member 143 return container_of(chan, struct idma64_chan, vchan.chan); in to_idma64_chan()
|
H A D | fsl-edma-main.c | 32 vchan_synchronize(&fsl_chan->vchan); in fsl_edma_synchronize() 537 fsl_chan->vchan.desc_free = fsl_edma_free_desc; in fsl_edma_probe() 545 vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); in fsl_edma_probe() 649 spin_lock_irqsave(&fsl_chan->vchan.lock, flags); in fsl_edma_suspend_late() 658 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags); in fsl_edma_suspend_late()
|
/openbmc/linux/drivers/dma/hsu/ |
H A D | hsu.c | 121 vdesc = vchan_next_desc(&hsuc->vchan); in hsu_dma_start_transfer() 168 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_get_status() 222 stat = this_cpu_ptr(hsuc->vchan.chan.local); in hsu_dma_do_irq() 224 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_do_irq() 303 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_issue_pending() 339 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_tx_status() 369 spin_lock_irqsave(&hsuc->vchan.lock, flags); in hsu_dma_pause() 424 vchan_synchronize(&hsuc->vchan); in hsu_dma_synchronize() 452 hsuc->vchan.desc_free = hsu_dma_desc_free; in hsu_dma_probe() 453 vchan_init(&hsuc->vchan, &hsu->dma); in hsu_dma_probe() [all …]
|
H A D | hsu.h | 87 struct virt_dma_chan vchan; member 100 return container_of(chan, struct hsu_dma_chan, vchan.chan); in to_hsu_dma_chan()
|
/openbmc/linux/drivers/dma/sf-pdma/ |
H A D | sf-pdma.c | 102 spin_lock_irqsave(&chan->vchan.lock, iflags); in sf_pdma_prep_dma_memcpy() 143 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_free_chan_resources() 163 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_desc_residue() 178 vd = vchan_find_desc(&chan->vchan, cookie); in sf_pdma_desc_residue() 240 struct virt_dma_chan *vchan = &chan->vchan; in sf_pdma_get_first_pending_desc() local 243 if (list_empty(&vchan->desc_issued)) in sf_pdma_get_first_pending_desc() 347 spin_lock(&chan->vchan.lock); in sf_pdma_done_isr() 364 spin_unlock(&chan->vchan.lock); in sf_pdma_done_isr() 484 vchan_init(&chan->vchan, &pdma->dma_dev); in sf_pdma_setup_chans() 580 list_del(&ch->vchan.chan.device_node); in sf_pdma_remove() [all …]
|
/openbmc/linux/drivers/dma/lgm/ |
H A D | lgm-dma.c | 195 struct virt_dma_chan vchan; member 1021 spin_lock_irqsave(&c->vchan.lock, flags); in ldma_issue_pending() 1022 if (vchan_issue_pending(&c->vchan)) { in ldma_issue_pending() 1026 vdesc = vchan_next_desc(&c->vchan); in ldma_issue_pending() 1051 vchan_synchronize(&c->vchan); in ldma_synchronize() 1062 spin_lock_irqsave(&c->vchan.lock, flags); in ldma_terminate_all() 1065 vchan_dma_desc_free_list(&c->vchan, &head); in ldma_terminate_all() 1315 struct virt_dma_chan *vc = &c->vchan; in dma_work() 1321 spin_lock_irqsave(&c->vchan.lock, flags); in dma_work() 1415 vchan_init(&c->vchan, &d->dma_dev); in ldma_dma_init_v22() [all …]
|
/openbmc/linux/drivers/dma/xilinx/ |
H A D | xilinx_dpdma.c | 227 struct virt_dma_chan vchan; member 847 vdesc = vchan_next_desc(&chan->vchan); in xilinx_dpdma_chan_queue_transfer() 1101 spin_lock(&chan->vchan.lock); in xilinx_dpdma_chan_vsync_irq() 1108 spin_unlock(&chan->vchan.lock); in xilinx_dpdma_chan_vsync_irq() 1182 &chan->vchan.desc_issued); in xilinx_dpdma_chan_handle_err() 1271 spin_lock(&chan->vchan.lock); in xilinx_dpdma_issue_pending() 1272 if (vchan_issue_pending(&chan->vchan)) in xilinx_dpdma_issue_pending() 1274 spin_unlock(&chan->vchan.lock); in xilinx_dpdma_issue_pending() 1400 vchan_synchronize(&chan->vchan); in xilinx_dpdma_synchronize() 1503 spin_lock(&chan->vchan.lock); in xilinx_dpdma_chan_err_task() [all …]
|
H A D | xdma.c | 66 struct virt_dma_chan vchan; member 179 return container_of(chan, struct xdma_chan, vchan.chan); in to_xdma_chan() 415 xchan->vchan.desc_free = xdma_free_desc; in xdma_alloc_channels() 416 vchan_init(&xchan->vchan, &xdev->dma_dev); in xdma_alloc_channels() 436 spin_lock_irqsave(&xdma_chan->vchan.lock, flags); in xdma_issue_pending() 437 if (vchan_issue_pending(&xdma_chan->vchan)) in xdma_issue_pending() 439 spin_unlock_irqrestore(&xdma_chan->vchan.lock, flags); in xdma_issue_pending() 547 vchan_free_chan_resources(&xdma_chan->vchan); in xdma_free_chan_resources() 594 spin_lock(&xchan->vchan.lock); in xdma_channel_isr() 597 vd = vchan_next_desc(&xchan->vchan); in xdma_channel_isr() [all …]
|
/openbmc/linux/drivers/dma/fsl-dpaa2-qdma/ |
H A D | dpaa2-qdma.c | 73 spin_lock_irqsave(&dpaa2_chan->vchan.lock, flags); in dpaa2_qdma_free_chan_resources() 74 vchan_get_all_descriptors(&dpaa2_chan->vchan, &head); in dpaa2_qdma_free_chan_resources() 75 spin_unlock_irqrestore(&dpaa2_chan->vchan.lock, flags); in dpaa2_qdma_free_chan_resources() 77 vchan_dma_desc_free_list(&dpaa2_chan->vchan, &head); in dpaa2_qdma_free_chan_resources() 282 spin_lock(&dpaa2_chan->vchan.lock); in dpaa2_qdma_issue_pending() 283 if (vchan_issue_pending(&dpaa2_chan->vchan)) { in dpaa2_qdma_issue_pending() 284 vdesc = vchan_next_desc(&dpaa2_chan->vchan); in dpaa2_qdma_issue_pending() 301 spin_unlock(&dpaa2_chan->vchan.lock); in dpaa2_qdma_issue_pending() 441 spin_lock(&qchan->vchan.lock); in dpaa2_qdma_fqdan_cb() 444 spin_unlock(&qchan->vchan.lock); in dpaa2_qdma_fqdan_cb() [all …]
|
/openbmc/linux/drivers/dma/ti/ |
H A D | edma.c | 216 struct virt_dma_chan vchan; member 845 vchan_synchronize(&echan->vchan); in edma_synchronize() 1458 spin_lock(&echan->vchan.lock); in edma_completion_handler() 1463 spin_unlock(&echan->vchan.lock); in edma_completion_handler() 1487 spin_unlock(&echan->vchan.lock); in edma_completion_handler() 1546 spin_lock(&echan->vchan.lock); in edma_error_handler() 1576 spin_unlock(&echan->vchan.lock); in edma_error_handler() 2008 vchan_init(&echan->vchan, m_ddev); in edma_dma_init() 2010 vchan_init(&echan->vchan, s_ddev); in edma_dma_init() 2243 chan = &echan->vchan.chan; in of_edma_xlate() [all …]
|
/openbmc/linux/arch/sh/drivers/dma/ |
H A D | dma-sysfs.c | 90 dma_configure_channel(channel->vchan, config); in dma_store_config() 133 dev->id = chan->vchan; in dma_create_sysfs_files()
|