Lines Matching refs:dmatx

182 	struct pl011_dmatx_data	dmatx;  member
323 uap->dmatx.chan = chan; in pl011_dma_probe()
326 dma_chan_name(uap->dmatx.chan)); in pl011_dma_probe()
413 if (uap->dmatx.chan) in pl011_dma_remove()
414 dma_release_channel(uap->dmatx.chan); in pl011_dma_remove()
430 struct pl011_dmatx_data *dmatx = &uap->dmatx; in pl011_dma_tx_callback() local
435 if (uap->dmatx.queued) in pl011_dma_tx_callback()
436 dma_unmap_sg(dmatx->chan->device->dev, &dmatx->sg, 1, in pl011_dma_tx_callback()
454 uap->dmatx.queued = false; in pl011_dma_tx_callback()
479 struct pl011_dmatx_data *dmatx = &uap->dmatx; in pl011_dma_tx_refill() local
480 struct dma_chan *chan = dmatx->chan; in pl011_dma_tx_refill()
494 uap->dmatx.queued = false; in pl011_dma_tx_refill()
509 memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], count); in pl011_dma_tx_refill()
518 memcpy(&dmatx->buf[0], &xmit->buf[xmit->tail], first); in pl011_dma_tx_refill()
520 memcpy(&dmatx->buf[first], &xmit->buf[0], second); in pl011_dma_tx_refill()
523 dmatx->sg.length = count; in pl011_dma_tx_refill()
525 if (dma_map_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE) != 1) { in pl011_dma_tx_refill()
526 uap->dmatx.queued = false; in pl011_dma_tx_refill()
531 desc = dmaengine_prep_slave_sg(chan, &dmatx->sg, 1, DMA_MEM_TO_DEV, in pl011_dma_tx_refill()
534 dma_unmap_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE); in pl011_dma_tx_refill()
535 uap->dmatx.queued = false; in pl011_dma_tx_refill()
556 uap->dmatx.queued = true; in pl011_dma_tx_refill()
589 if (uap->dmatx.queued) { in pl011_dma_tx_irq()
615 if (uap->dmatx.queued) { in pl011_dma_tx_stop()
640 if (!uap->dmatx.queued) { in pl011_dma_tx_start()
699 dmaengine_terminate_all(uap->dmatx.chan); in pl011_dma_flush_buffer()
701 if (uap->dmatx.queued) { in pl011_dma_flush_buffer()
702 dma_unmap_sg(uap->dmatx.chan->device->dev, &uap->dmatx.sg, 1, in pl011_dma_flush_buffer()
704 uap->dmatx.queued = false; in pl011_dma_flush_buffer()
1001 if (!uap->dmatx.chan) in pl011_dma_startup()
1004 uap->dmatx.buf = kmalloc(PL011_DMA_BUFFER_SIZE, GFP_KERNEL | __GFP_DMA); in pl011_dma_startup()
1005 if (!uap->dmatx.buf) { in pl011_dma_startup()
1011 sg_init_one(&uap->dmatx.sg, uap->dmatx.buf, PL011_DMA_BUFFER_SIZE); in pl011_dma_startup()
1088 dmaengine_terminate_all(uap->dmatx.chan); in pl011_dma_shutdown()
1089 if (uap->dmatx.queued) { in pl011_dma_shutdown()
1090 dma_unmap_sg(uap->dmatx.chan->device->dev, &uap->dmatx.sg, 1, in pl011_dma_shutdown()
1092 uap->dmatx.queued = false; in pl011_dma_shutdown()
1095 kfree(uap->dmatx.buf); in pl011_dma_shutdown()