Lines Matching refs:dma
120 struct dma_device dma; member
350 for (i = 0; i < sdma->dma.chancnt; i++) { in sirfsoc_dma_process_completed()
569 pm_runtime_get_sync(sdma->dma.dev); in sirfsoc_dma_alloc_chan_resources()
575 dev_notice(sdma->dma.dev, "Memory allocation error. " in sirfsoc_dma_alloc_chan_resources()
625 pm_runtime_put(sdma->dma.dev); in sirfsoc_dma_free_chan_resources()
847 struct dma_device *dma; in sirfsoc_dma_probe() local
907 dma = &sdma->dma; in sirfsoc_dma_probe()
908 dma->dev = dev; in sirfsoc_dma_probe()
910 dma->device_alloc_chan_resources = sirfsoc_dma_alloc_chan_resources; in sirfsoc_dma_probe()
911 dma->device_free_chan_resources = sirfsoc_dma_free_chan_resources; in sirfsoc_dma_probe()
912 dma->device_issue_pending = sirfsoc_dma_issue_pending; in sirfsoc_dma_probe()
913 dma->device_config = sirfsoc_dma_slave_config; in sirfsoc_dma_probe()
914 dma->device_pause = sirfsoc_dma_pause_chan; in sirfsoc_dma_probe()
915 dma->device_resume = sirfsoc_dma_resume_chan; in sirfsoc_dma_probe()
916 dma->device_terminate_all = sirfsoc_dma_terminate_all; in sirfsoc_dma_probe()
917 dma->device_tx_status = sirfsoc_dma_tx_status; in sirfsoc_dma_probe()
918 dma->device_prep_interleaved_dma = sirfsoc_dma_prep_interleaved; in sirfsoc_dma_probe()
919 dma->device_prep_dma_cyclic = sirfsoc_dma_prep_cyclic; in sirfsoc_dma_probe()
920 dma->src_addr_widths = SIRFSOC_DMA_BUSWIDTHS; in sirfsoc_dma_probe()
921 dma->dst_addr_widths = SIRFSOC_DMA_BUSWIDTHS; in sirfsoc_dma_probe()
922 dma->directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); in sirfsoc_dma_probe()
924 INIT_LIST_HEAD(&dma->channels); in sirfsoc_dma_probe()
925 dma_cap_set(DMA_SLAVE, dma->cap_mask); in sirfsoc_dma_probe()
926 dma_cap_set(DMA_CYCLIC, dma->cap_mask); in sirfsoc_dma_probe()
927 dma_cap_set(DMA_INTERLEAVE, dma->cap_mask); in sirfsoc_dma_probe()
928 dma_cap_set(DMA_PRIVATE, dma->cap_mask); in sirfsoc_dma_probe()
933 schan->chan.device = dma; in sirfsoc_dma_probe()
943 list_add_tail(&schan->chan.device_node, &dma->channels); in sirfsoc_dma_probe()
951 ret = dma_async_device_register(dma); in sirfsoc_dma_probe()
968 dma_async_device_unregister(dma); in sirfsoc_dma_probe()
982 dma_async_device_unregister(&sdma->dma); in sirfsoc_dma_remove()