STRUCT IIO_DMA_BUFFER_QUEUE(9)
π¦ struct iio_dma_buffer_queue(9) π¦
okay so bestie, you're reading the Kernel API Manual, section 9, and today's main character is this struct. buckle up π
β¨ NAME β¨
struct iio_dma_buffer_queue β the DMA buffer base structure, aka the whole vibe foundation for everything DMA-buffer-y in IIO π₯
πΈ SYNOPSIS πΈ
struct iio_dma_buffer_queue {
struct iio_buffer buffer;
struct device *dev;
const struct iio_dma_buffer_ops *ops;
struct mutex lock;
spinlock_t list_lock;
struct list_head incoming;
bool active;
atomic_t num_dmabufs;
struct iio_dma_buffer_queue_fileio fileio;
};
ngl, just look at it. it's giving "everything you need, nothing you don't" π
π Members π
bufferβ the IIO buffer base structure, the parent-buffer energy this whole thing is built on top of πdevβ the parent device, literally the device this queue belongs to π«Άopsβ the DMA buffer callbacks, i.e. where all the actual function pointers live βlockβ this mutex protects theincominglist,active, and the fields inside thefileiosubstruct. respect the lock bestie, it's holding a lot together πlist_lockβ the spinlock for the lists that contain blocks which can be modified in atomic context, plus the blocks on those lists. specifically that's the outgoing queue list and typically also a list of active blocks in the part that handles the DMA controller. yes, it's a lot of responsibility, and yes, she's slaying it β¨incomingβ the list of buffers chillin' on the incoming queue, like the waiting room but for buffers πactiveβ aboolthat tells you whether the buffer is currently active. is she on or is she off? this field knows πnum_dmabufsβ the total number of DMABUFs attached to this queue, anatomic_tso it stays correct no matter what π€fileioβ the FileIO state, keeping all that file I/O business cozy in its little substruct π
π SEE ALSO π
- Kernel file
./include/linux/iio/buffer-dma.h enum iio_block_state(9)struct iio_dma_buffer_block(9)struct iio_dma_buffer_queue_fileio(9)struct iio_dma_buffer_ops(9)
go read those too, iykyk π
and that's the whole page, bestie!! no cap, you ate this one π§ this lore came straight out of ./include/linux/iio, dated October 2026 β mwah, catch you in the next manpage ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms