Lines Matching refs:dmaengine_buffer
33 struct dmaengine_buffer { struct
43 static struct dmaengine_buffer *iio_buffer_to_dmaengine_buffer(struct iio_buffer *buffer) in iio_buffer_to_dmaengine_buffer() argument
45 return container_of(buffer, struct dmaengine_buffer, queue.buffer); in iio_buffer_to_dmaengine_buffer()
62 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_submit_block() local
74 max_size = min(block->size, dmaengine_buffer->max_size); in iio_dmaengine_buffer_submit_block()
75 max_size = round_down(max_size, dmaengine_buffer->align); in iio_dmaengine_buffer_submit_block()
102 desc = dmaengine_prep_peripheral_dma_vec(dmaengine_buffer->chan, in iio_dmaengine_buffer_submit_block()
107 max_size = min(block->size, dmaengine_buffer->max_size); in iio_dmaengine_buffer_submit_block()
108 max_size = round_down(max_size, dmaengine_buffer->align); in iio_dmaengine_buffer_submit_block()
116 desc = dmaengine_prep_slave_single(dmaengine_buffer->chan, in iio_dmaengine_buffer_submit_block()
132 scoped_guard(spinlock_irq, &dmaengine_buffer->queue.list_lock) in iio_dmaengine_buffer_submit_block()
133 list_add_tail(&block->head, &dmaengine_buffer->active); in iio_dmaengine_buffer_submit_block()
135 dma_async_issue_pending(dmaengine_buffer->chan); in iio_dmaengine_buffer_submit_block()
142 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_abort() local
145 dmaengine_terminate_sync(dmaengine_buffer->chan); in iio_dmaengine_buffer_abort()
146 iio_dma_buffer_block_list_abort(queue, &dmaengine_buffer->active); in iio_dmaengine_buffer_abort()
151 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_release() local
154 iio_dma_buffer_release(&dmaengine_buffer->queue); in iio_dmaengine_buffer_release()
155 kfree(dmaengine_buffer); in iio_dmaengine_buffer_release()
192 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_get_length_align() local
195 return sysfs_emit(buf, "%zu\n", dmaengine_buffer->align); in iio_dmaengine_buffer_get_length_align()
218 struct dmaengine_buffer *dmaengine_buffer; in iio_dmaengine_buffer_alloc() local
227 dmaengine_buffer = kzalloc_obj(*dmaengine_buffer); in iio_dmaengine_buffer_alloc()
228 if (!dmaengine_buffer) in iio_dmaengine_buffer_alloc()
242 INIT_LIST_HEAD(&dmaengine_buffer->active); in iio_dmaengine_buffer_alloc()
243 dmaengine_buffer->chan = chan; in iio_dmaengine_buffer_alloc()
244 dmaengine_buffer->align = width; in iio_dmaengine_buffer_alloc()
245 dmaengine_buffer->max_size = dma_get_max_seg_size(chan->device->dev); in iio_dmaengine_buffer_alloc()
247 iio_dma_buffer_init(&dmaengine_buffer->queue, chan->device->dev, in iio_dmaengine_buffer_alloc()
250 dmaengine_buffer->queue.buffer.attrs = iio_dmaengine_buffer_attrs; in iio_dmaengine_buffer_alloc()
251 dmaengine_buffer->queue.buffer.access = &iio_dmaengine_buffer_ops; in iio_dmaengine_buffer_alloc()
253 return &dmaengine_buffer->queue.buffer; in iio_dmaengine_buffer_alloc()
264 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_free() local
267 iio_dma_buffer_exit(&dmaengine_buffer->queue); in iio_dmaengine_buffer_free()
280 struct dmaengine_buffer *dmaengine_buffer = in iio_dmaengine_buffer_teardown() local
282 struct dma_chan *chan = dmaengine_buffer->chan; in iio_dmaengine_buffer_teardown()