Lines Matching refs:dma

4 #include <linux/dma-mapping.h>
6 #include <linux/dma/sprd-dma.h>
14 #include "sprd-pcm-dma.h"
53 * save power. That means we can request 2 dma channels, one for source channel,
72 struct sprd_compr_dma dma[SPRD_COMPR_DMA_CHANS];
119 struct sprd_compr_dma *dma = &stream->dma[1];
122 stream->copied_total += dma->trans_len;
140 struct sprd_compr_dma *dma = &stream->dma[channel];
152 dev_err(dev, "no dma parameters setting\n");
156 dma->chan = dma_request_slave_channel(dev,
158 if (!dma->chan) {
159 dev_err(dev, "failed to request dma channel\n");
199 dma->trans_len = period * period_cnt;
216 sg_dma_len(sgt) = dma->trans_len;
224 link.virt_addr = (unsigned long)dma->virt;
225 link.phy_addr = dma->phys;
227 ret = dmaengine_slave_config(dma->chan, &config);
238 dma->desc = dma->chan->device->device_prep_slave_sg(dma->chan, sg,
241 if (!dma->desc) {
249 dma->desc->callback = sprd_platform_compr_dma_complete;
250 dma->desc->callback_param = cstream;
260 dma_release_channel(dma->chan);
309 dma_release_channel(stream->dma[0].chan);
311 dma_release_channel(stream->dma[1].chan);
348 stream->dma[0].virt = stream->iram_buffer.area + SPRD_COMPR_IRAM_SIZE;
349 stream->dma[0].phys = stream->iram_buffer.addr + SPRD_COMPR_IRAM_SIZE;
368 stream->dma[1].virt = stream->compr_buffer.area + SPRD_COMPR_AREA_SIZE;
369 stream->dma[1].phys = stream->compr_buffer.addr + SPRD_COMPR_AREA_SIZE;
401 struct sprd_compr_dma *dma = &stream->dma[i];
403 if (dma->chan) {
404 dma_release_channel(dma->chan);
405 dma->chan = NULL;
436 struct sprd_compr_dma *dma = &stream->dma[i];
438 if (!dma->desc)
441 dma->cookie = dmaengine_submit(dma->desc);
442 ret = dma_submit_error(dma->cookie);
451 struct sprd_compr_dma *dma = &stream->dma[i];
453 if (dma->chan)
454 dma_async_issue_pending(dma->chan);
462 struct sprd_compr_dma *dma = &stream->dma[i];
464 if (dma->chan)
465 dmaengine_terminate_async(dma->chan);
480 struct sprd_compr_dma *dma = &stream->dma[i];
482 if (dma->chan)
483 dmaengine_pause(dma->chan);
492 struct sprd_compr_dma *dma = &stream->dma[i];
494 if (dma->chan)
495 dmaengine_resume(dma->chan);