Lines Matching defs:dma
28 struct stm32_timers_dma *dma = p;
32 status = dmaengine_tx_status(dma->chan, dma->chan->cookie, &state);
34 complete(&dma->completion);
57 struct stm32_timers_dma *dma = &ddata->dma;
75 if (!dma->chans[id])
77 mutex_lock(&dma->lock);
80 dma->chan = dma->chans[id];
89 config.src_addr = (dma_addr_t)dma->phys_base + TIM_DMAR;
91 ret = dmaengine_slave_config(dma->chan, &config);
95 desc = dmaengine_prep_slave_single(dma->chan, dma_buf, len,
103 desc->callback_param = dma;
109 reinit_completion(&dma->completion);
110 dma_async_issue_pending(dma->chan);
129 err = wait_for_completion_interruptible_timeout(&dma->completion,
141 dmaengine_terminate_all(dma->chan);
145 dma->chan = NULL;
146 mutex_unlock(&dma->lock);
182 init_completion(&ddata->dma.completion);
183 mutex_init(&ddata->dma.lock);
188 ddata->dma.chans[i] = dma_request_chan(dev, name);
190 ddata->dma.chans[STM32_TIMERS_DMA_UP] = dma_request_chan(dev, "up");
191 ddata->dma.chans[STM32_TIMERS_DMA_TRIG] = dma_request_chan(dev, "trig");
192 ddata->dma.chans[STM32_TIMERS_DMA_COM] = dma_request_chan(dev, "com");
195 if (IS_ERR(ddata->dma.chans[i])) {
197 if (PTR_ERR(ddata->dma.chans[i]) != -ENODEV && !ret)
198 ret = PTR_ERR(ddata->dma.chans[i]);
200 ddata->dma.chans[i] = NULL;
213 if (ddata->dma.chans[i])
214 dma_release_channel(ddata->dma.chans[i]);
235 ddata->dma.phys_base = res->start;