Lines Matching defs:dma
29 struct stm32_timers_dma *dma = p;
33 status = dmaengine_tx_status(dma->chan, dma->chan->cookie, &state);
35 complete(&dma->completion);
58 struct stm32_timers_dma *dma = &ddata->dma;
76 if (!dma->chans[id])
78 mutex_lock(&dma->lock);
81 dma->chan = dma->chans[id];
90 config.src_addr = (dma_addr_t)dma->phys_base + TIM_DMAR;
92 ret = dmaengine_slave_config(dma->chan, &config);
96 desc = dmaengine_prep_slave_single(dma->chan, dma_buf, len,
104 desc->callback_param = dma;
110 reinit_completion(&dma->completion);
111 dma_async_issue_pending(dma->chan);
130 err = wait_for_completion_interruptible_timeout(&dma->completion,
142 dmaengine_terminate_all(dma->chan);
146 dma->chan = NULL;
147 mutex_unlock(&dma->lock);
183 init_completion(&ddata->dma.completion);
184 mutex_init(&ddata->dma.lock);
189 ddata->dma.chans[i] = dma_request_chan(dev, name);
191 ddata->dma.chans[STM32_TIMERS_DMA_UP] = dma_request_chan(dev, "up");
192 ddata->dma.chans[STM32_TIMERS_DMA_TRIG] = dma_request_chan(dev, "trig");
193 ddata->dma.chans[STM32_TIMERS_DMA_COM] = dma_request_chan(dev, "com");
196 if (IS_ERR(ddata->dma.chans[i])) {
198 if (PTR_ERR(ddata->dma.chans[i]) != -ENODEV && !ret)
199 ret = PTR_ERR(ddata->dma.chans[i]);
201 ddata->dma.chans[i] = NULL;
214 if (ddata->dma.chans[i])
215 dma_release_channel(ddata->dma.chans[i]);
235 ddata->dma.phys_base = res->start;