Lines Matching refs:dmaengine_buffer

31 struct dmaengine_buffer {  struct
41 static struct dmaengine_buffer *iio_buffer_to_dmaengine_buffer( in iio_buffer_to_dmaengine_buffer() argument
44 return container_of(buffer, struct dmaengine_buffer, queue.buffer); in iio_buffer_to_dmaengine_buffer()
61 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_submit_block() local
66 block->bytes_used = min(block->size, dmaengine_buffer->max_size); in iio_dmaengine_buffer_submit_block()
68 dmaengine_buffer->align); in iio_dmaengine_buffer_submit_block()
70 desc = dmaengine_prep_slave_single(dmaengine_buffer->chan, in iio_dmaengine_buffer_submit_block()
83 spin_lock_irq(&dmaengine_buffer->queue.list_lock); in iio_dmaengine_buffer_submit_block()
84 list_add_tail(&block->head, &dmaengine_buffer->active); in iio_dmaengine_buffer_submit_block()
85 spin_unlock_irq(&dmaengine_buffer->queue.list_lock); in iio_dmaengine_buffer_submit_block()
87 dma_async_issue_pending(dmaengine_buffer->chan); in iio_dmaengine_buffer_submit_block()
94 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_abort() local
97 dmaengine_terminate_sync(dmaengine_buffer->chan); in iio_dmaengine_buffer_abort()
98 iio_dma_buffer_block_list_abort(queue, &dmaengine_buffer->active); in iio_dmaengine_buffer_abort()
103 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_release() local
106 iio_dma_buffer_release(&dmaengine_buffer->queue); in iio_dmaengine_buffer_release()
107 kfree(dmaengine_buffer); in iio_dmaengine_buffer_release()
144 struct dmaengine_buffer *dmaengine_buffer; in iio_dmaengine_buffer_alloc() local
150 dmaengine_buffer = kzalloc(sizeof(*dmaengine_buffer), GFP_KERNEL); in iio_dmaengine_buffer_alloc()
151 if (!dmaengine_buffer) in iio_dmaengine_buffer_alloc()
175 INIT_LIST_HEAD(&dmaengine_buffer->active); in iio_dmaengine_buffer_alloc()
176 dmaengine_buffer->chan = chan; in iio_dmaengine_buffer_alloc()
177 dmaengine_buffer->align = width; in iio_dmaengine_buffer_alloc()
178 dmaengine_buffer->max_size = dma_get_max_seg_size(chan->device->dev); in iio_dmaengine_buffer_alloc()
180 iio_dma_buffer_init(&dmaengine_buffer->queue, chan->device->dev, in iio_dmaengine_buffer_alloc()
183 dmaengine_buffer->queue.buffer.access = &iio_dmaengine_buffer_ops; in iio_dmaengine_buffer_alloc()
185 return &dmaengine_buffer->queue.buffer; in iio_dmaengine_buffer_alloc()
188 kfree(dmaengine_buffer); in iio_dmaengine_buffer_alloc()
201 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_free() local
204 iio_dma_buffer_exit(&dmaengine_buffer->queue); in iio_dmaengine_buffer_free()
205 dma_release_channel(dmaengine_buffer->chan); in iio_dmaengine_buffer_free()