Lines Matching defs:engine
190 * @engine: base DMA engine object
199 struct dma_device engine;
210 #define to_rcar_dmac(d) container_of(d, struct rcar_dmac, engine)
1024 * DMA engine operations
1770 * Initialize the DMA engine channel and add it to the DMA engine
1773 chan->device = &dmac->engine;
1776 list_add_tail(&chan->device_node, &dmac->engine.channels);
1831 struct dma_device *engine;
1896 /* Initialize engine */
1897 engine = &dmac->engine;
1899 dma_cap_set(DMA_MEMCPY, engine->cap_mask);
1900 dma_cap_set(DMA_SLAVE, engine->cap_mask);
1902 engine->dev = &pdev->dev;
1903 engine->copy_align = ilog2(RCAR_DMAC_MEMCPY_XFER_SIZE);
1905 engine->src_addr_widths = widths;
1906 engine->dst_addr_widths = widths;
1907 engine->directions = BIT(DMA_MEM_TO_DEV) | BIT(DMA_DEV_TO_MEM);
1908 engine->residue_granularity = DMA_RESIDUE_GRANULARITY_BURST;
1910 engine->device_alloc_chan_resources = rcar_dmac_alloc_chan_resources;
1911 engine->device_free_chan_resources = rcar_dmac_free_chan_resources;
1912 engine->device_prep_dma_memcpy = rcar_dmac_prep_dma_memcpy;
1913 engine->device_prep_slave_sg = rcar_dmac_prep_slave_sg;
1914 engine->device_prep_dma_cyclic = rcar_dmac_prep_dma_cyclic;
1915 engine->device_config = rcar_dmac_device_config;
1916 engine->device_pause = rcar_dmac_chan_pause;
1917 engine->device_terminate_all = rcar_dmac_chan_terminate_all;
1918 engine->device_tx_status = rcar_dmac_tx_status;
1919 engine->device_issue_pending = rcar_dmac_issue_pending;
1920 engine->device_synchronize = rcar_dmac_device_synchronize;
1922 INIT_LIST_HEAD(&engine->channels);
1940 * Register the DMA engine device.
1944 ret = dma_async_device_register(engine);
1961 dma_async_device_unregister(&dmac->engine);