Lines Matching refs:dma
84 struct dma_device dma; member
204 for (i = 0; i < sdma->dma.chancnt; i++) { in sirfsoc_dma_process_completed()
386 pm_runtime_get_sync(sdma->dma.dev); in sirfsoc_dma_alloc_chan_resources()
392 dev_notice(sdma->dma.dev, "Memory allocation error. " in sirfsoc_dma_alloc_chan_resources()
442 pm_runtime_put(sdma->dma.dev); in sirfsoc_dma_free_chan_resources()
647 struct dma_device *dma; in sirfsoc_dma_probe() local
704 dma = &sdma->dma; in sirfsoc_dma_probe()
705 dma->dev = dev; in sirfsoc_dma_probe()
707 dma->device_alloc_chan_resources = sirfsoc_dma_alloc_chan_resources; in sirfsoc_dma_probe()
708 dma->device_free_chan_resources = sirfsoc_dma_free_chan_resources; in sirfsoc_dma_probe()
709 dma->device_issue_pending = sirfsoc_dma_issue_pending; in sirfsoc_dma_probe()
710 dma->device_config = sirfsoc_dma_slave_config; in sirfsoc_dma_probe()
711 dma->device_pause = sirfsoc_dma_pause_chan; in sirfsoc_dma_probe()
712 dma->device_resume = sirfsoc_dma_resume_chan; in sirfsoc_dma_probe()
713 dma->device_terminate_all = sirfsoc_dma_terminate_all; in sirfsoc_dma_probe()
714 dma->device_tx_status = sirfsoc_dma_tx_status; in sirfsoc_dma_probe()
715 dma->device_prep_interleaved_dma = sirfsoc_dma_prep_interleaved; in sirfsoc_dma_probe()
716 dma->device_prep_dma_cyclic = sirfsoc_dma_prep_cyclic; in sirfsoc_dma_probe()
717 dma->src_addr_widths = SIRFSOC_DMA_BUSWIDTHS; in sirfsoc_dma_probe()
718 dma->dst_addr_widths = SIRFSOC_DMA_BUSWIDTHS; in sirfsoc_dma_probe()
719 dma->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); in sirfsoc_dma_probe()
721 INIT_LIST_HEAD(&dma->channels); in sirfsoc_dma_probe()
722 dma_cap_set(DMA_SLAVE, dma->cap_mask); in sirfsoc_dma_probe()
723 dma_cap_set(DMA_CYCLIC, dma->cap_mask); in sirfsoc_dma_probe()
724 dma_cap_set(DMA_INTERLEAVE, dma->cap_mask); in sirfsoc_dma_probe()
725 dma_cap_set(DMA_PRIVATE, dma->cap_mask); in sirfsoc_dma_probe()
730 schan->chan.device = dma; in sirfsoc_dma_probe()
740 list_add_tail(&schan->chan.device_node, &dma->channels); in sirfsoc_dma_probe()
748 ret = dma_async_device_register(dma); in sirfsoc_dma_probe()
765 dma_async_device_unregister(dma); in sirfsoc_dma_probe()
779 dma_async_device_unregister(&sdma->dma); in sirfsoc_dma_remove()