On Wed, 5 Jun 2024 13:08:43 +0200 Paul Cercueil paul@crapouillou.net wrote:
Implement iio_dma_buffer_attach_dmabuf(), iio_dma_buffer_detach_dmabuf() and iio_dma_buffer_transfer_dmabuf(), which can then be used by the IIO DMA buffer implementations.
Signed-off-by: Paul Cercueil paul@crapouillou.net Signed-off-by: Nuno Sa nuno.sa@analog.com
Same thing on SoB. Also another missing structure field related docs comment inline.
diff --git a/include/linux/iio/buffer-dma.h b/include/linux/iio/buffer-dma.h index 6e27e47077d5..e54158e53fd6 100644 --- a/include/linux/iio/buffer-dma.h +++ b/include/linux/iio/buffer-dma.h @@ -7,6 +7,7 @@ #ifndef __INDUSTRIALIO_DMA_BUFFER_H__ #define __INDUSTRIALIO_DMA_BUFFER_H__ +#include <linux/atomic.h> #include <linux/list.h> #include <linux/kref.h> #include <linux/spinlock.h> @@ -16,6 +17,9 @@ struct iio_dma_buffer_queue; struct iio_dma_buffer_ops; struct device; +struct dma_buf_attachment; +struct dma_fence; +struct sg_table; /**
- enum iio_block_state - State of a struct iio_dma_buffer_block
@@ -41,6 +45,8 @@ enum iio_block_state {
- @queue: Parent DMA buffer queue
- @kref: kref used to manage the lifetime of block
- @state: Current state of the block
- @cyclic: True if this is a cyclic buffer
- @fileio: True if this buffer is used for fileio mode
kernel doc needs to be complete. So missing attach, sg_table and fence.
*/ struct iio_dma_buffer_block { /* May only be accessed by the owner of the block */ @@ -63,6 +69,14 @@ struct iio_dma_buffer_block { * queue->list_lock if the block is not owned by the core. */ enum iio_block_state state;
- bool cyclic;
- bool fileio;
- struct dma_buf_attachment *attach;
- struct sg_table *sg_table;
- struct dma_fence *fence;
};