STRUCT CAL_DMAQUEUE(9)
π¦ struct cal_dmaqueue(9) π¦
okay bestie, listen up π
this is a page from the Kernel API Manual and it's literally about struct cal_dmaqueue β the Queue of DMA buffers. yes. a whole queue. of buffers. for DMA. she's iconic, she's organized, she's got a spinlock and she's not afraid to use it β¨
β¨ SYNOPSIS β¨
struct cal_dmaqueue {
spinlock_t lock;
struct list_head queue;
struct cal_buffer *pending;
struct cal_buffer *active;
enum cal_dma_state state;
struct wait_queue_head wait;
};
look at her. six fields. main character energy fr fr πΈ
π Members π
like. the whole cast. one by one. no skips, no cap π
lockβ the bouncer at the door π«Ά protects all fields in thecal_dmaqueue. every single one. don't touch anything without her.queueβ the waiting room π buffers queued to the driver and waiting for DMA processing. buffers get added to the list by the vb2.buffer_queueoperation, and then they move topendingwhen they're scheduled for the next frame. the way that pipeline just flows πpendingβ the buffer handed to the hardware to DMA the next frame β will move toactiveat the end of the current frame. she's next up, she's ready, she's waiting her turn.activeβ the buffer being DMA'ed to for the current frame π₯ at the end of the current frame she gets retired and given back to vb2 β but only if apendingbuffer has been scheduled to replace her. if not? she stays. periodt.stateβ the state of the DMA engine. that's it. that's the field. vibe check on the whole engine πwaitβ the wait queue that signals a state transition toCAL_DMA_STOPPEDπ so everybody waiting knows what's up.
π SEE ALSO π
- Kernel file
./drivers/media/platform/ti/cal/cal.hβ go read it, iykyk π
ngl if you skipped the Members section: go back. every field matters. i said what i said π
that's the whole page bestie, you ate that π this cutie lives in ./drivers/media/platform/ti/cal and the docs are dated October 2026 β yes, October 2026, she's from the future, we don't ask questions π« mwah, go read cal.h π§ββοΈπ
π¦ 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