• Home
  • Raw
  • Download

Lines Matching refs:dma

51 	struct tiadc_dma dma;  member
237 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_dma_rx_complete() local
241 data = dma->buf + dma->current_period * dma->period_size; in tiadc_dma_rx_complete()
242 dma->current_period = 1 - dma->current_period; /* swap the buffer ID */ in tiadc_dma_rx_complete()
244 for (i = 0; i < dma->period_size; i += indio_dev->scan_bytes) { in tiadc_dma_rx_complete()
253 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_start_dma() local
256 dma->current_period = 0; /* We start to fill period 0 */ in tiadc_start_dma()
264 dma->fifo_thresh = rounddown(FIFO1_THRESHOLD + 1, in tiadc_start_dma()
267 dma->period_size = rounddown(DMA_BUFFER_SIZE / 2, in tiadc_start_dma()
268 (dma->fifo_thresh + 1) * sizeof(u16)); in tiadc_start_dma()
270 dma->conf.src_maxburst = dma->fifo_thresh + 1; in tiadc_start_dma()
271 dmaengine_slave_config(dma->chan, &dma->conf); in tiadc_start_dma()
273 desc = dmaengine_prep_dma_cyclic(dma->chan, dma->addr, in tiadc_start_dma()
274 dma->period_size * 2, in tiadc_start_dma()
275 dma->period_size, DMA_DEV_TO_MEM, in tiadc_start_dma()
283 dma->cookie = dmaengine_submit(desc); in tiadc_start_dma()
285 dma_async_issue_pending(dma->chan); in tiadc_start_dma()
287 tiadc_writel(adc_dev, REG_FIFO1THR, dma->fifo_thresh); in tiadc_start_dma()
288 tiadc_writel(adc_dev, REG_DMA1REQ, dma->fifo_thresh); in tiadc_start_dma()
314 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_buffer_postenable() local
326 if (dma->chan) in tiadc_buffer_postenable()
335 if (!dma->chan) in tiadc_buffer_postenable()
345 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_buffer_predisable() local
353 if (dma->chan) { in tiadc_buffer_predisable()
355 dmaengine_terminate_async(dma->chan); in tiadc_buffer_predisable()
521 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_request_dma() local
525 dma->conf.direction = DMA_DEV_TO_MEM; in tiadc_request_dma()
526 dma->conf.src_addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; in tiadc_request_dma()
527 dma->conf.src_addr = adc_dev->mfd_tscadc->tscadc_phys_base + REG_FIFO1; in tiadc_request_dma()
533 dma->chan = dma_request_chan(adc_dev->mfd_tscadc->dev, "fifo1"); in tiadc_request_dma()
534 if (IS_ERR(dma->chan)) { in tiadc_request_dma()
535 int ret = PTR_ERR(dma->chan); in tiadc_request_dma()
537 dma->chan = NULL; in tiadc_request_dma()
542 dma->buf = dma_alloc_coherent(dma->chan->device->dev, DMA_BUFFER_SIZE, in tiadc_request_dma()
543 &dma->addr, GFP_KERNEL); in tiadc_request_dma()
544 if (!dma->buf) in tiadc_request_dma()
549 dma_release_channel(dma->chan); in tiadc_request_dma()
653 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_remove() local
656 if (dma->chan) { in tiadc_remove()
657 dma_free_coherent(dma->chan->device->dev, DMA_BUFFER_SIZE, in tiadc_remove()
658 dma->buf, dma->addr); in tiadc_remove()
659 dma_release_channel(dma->chan); in tiadc_remove()