Lines Matching refs:dma_device
348 struct dma_device dma_device; member
376 static inline struct at_dma *to_at_dma(struct dma_device *ddev) in to_at_dma()
378 return container_of(ddev, struct at_dma, dma_device); in to_at_dma()
842 dev_vdbg(atdma->dma_device.dev, in at_dma_interrupt()
846 for (i = 0; i < atdma->dma_device.chancnt; i++) { in at_dma_interrupt()
1748 BUG_ON(!atslave->dma_dev || atslave->dma_dev != atdma->dma_device.dev); in atc_alloc_chan_resources()
1975 atdma->dma_device.cap_mask = plat_dat->cap_mask; in at_dma_probe()
2019 INIT_LIST_HEAD(&atdma->dma_device.channels); in at_dma_probe()
2031 vchan_init(&atchan->vc, &atdma->dma_device); in at_dma_probe()
2036 atdma->dma_device.device_alloc_chan_resources = atc_alloc_chan_resources; in at_dma_probe()
2037 atdma->dma_device.device_free_chan_resources = atc_free_chan_resources; in at_dma_probe()
2038 atdma->dma_device.device_tx_status = atc_tx_status; in at_dma_probe()
2039 atdma->dma_device.device_issue_pending = atc_issue_pending; in at_dma_probe()
2040 atdma->dma_device.dev = &pdev->dev; in at_dma_probe()
2043 if (dma_has_cap(DMA_INTERLEAVE, atdma->dma_device.cap_mask)) in at_dma_probe()
2044 atdma->dma_device.device_prep_interleaved_dma = atc_prep_dma_interleaved; in at_dma_probe()
2046 if (dma_has_cap(DMA_MEMCPY, atdma->dma_device.cap_mask)) in at_dma_probe()
2047 atdma->dma_device.device_prep_dma_memcpy = atc_prep_dma_memcpy; in at_dma_probe()
2049 if (dma_has_cap(DMA_MEMSET, atdma->dma_device.cap_mask)) { in at_dma_probe()
2050 atdma->dma_device.device_prep_dma_memset = atc_prep_dma_memset; in at_dma_probe()
2051 atdma->dma_device.device_prep_dma_memset_sg = atc_prep_dma_memset_sg; in at_dma_probe()
2052 atdma->dma_device.fill_align = DMAENGINE_ALIGN_4_BYTES; in at_dma_probe()
2055 if (dma_has_cap(DMA_SLAVE, atdma->dma_device.cap_mask)) { in at_dma_probe()
2056 atdma->dma_device.device_prep_slave_sg = atc_prep_slave_sg; in at_dma_probe()
2058 dma_cap_set(DMA_CYCLIC, atdma->dma_device.cap_mask); in at_dma_probe()
2059 atdma->dma_device.device_prep_dma_cyclic = atc_prep_dma_cyclic; in at_dma_probe()
2060 atdma->dma_device.device_config = atc_config; in at_dma_probe()
2061 atdma->dma_device.device_pause = atc_pause; in at_dma_probe()
2062 atdma->dma_device.device_resume = atc_resume; in at_dma_probe()
2063 atdma->dma_device.device_terminate_all = atc_terminate_all; in at_dma_probe()
2064 atdma->dma_device.src_addr_widths = ATC_DMA_BUSWIDTHS; in at_dma_probe()
2065 atdma->dma_device.dst_addr_widths = ATC_DMA_BUSWIDTHS; in at_dma_probe()
2066 atdma->dma_device.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); in at_dma_probe()
2067 atdma->dma_device.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST; in at_dma_probe()
2073 dma_has_cap(DMA_MEMCPY, atdma->dma_device.cap_mask) ? "cpy " : "", in at_dma_probe()
2074 dma_has_cap(DMA_MEMSET, atdma->dma_device.cap_mask) ? "set " : "", in at_dma_probe()
2075 dma_has_cap(DMA_SLAVE, atdma->dma_device.cap_mask) ? "slave " : "", in at_dma_probe()
2078 err = dma_async_device_register(&atdma->dma_device); in at_dma_probe()
2101 dma_async_device_unregister(&atdma->dma_device); in at_dma_probe()
2121 dma_async_device_unregister(&atdma->dma_device); in at_dma_remove()
2127 list_for_each_entry_safe(chan, _chan, &atdma->dma_device.channels, in at_dma_remove()
2150 list_for_each_entry_safe(chan, _chan, &atdma->dma_device.channels, in at_dma_prepare()
2185 list_for_each_entry_safe(chan, _chan, &atdma->dma_device.channels, in at_dma_suspend_noirq()
2235 list_for_each_entry_safe(chan, _chan, &atdma->dma_device.channels, in at_dma_resume_noirq()