STRUCT DMA_CONTROLLER(9)
π struct dma_controller(9) β Kernel API Manual
okay so bestie, welcome to the struct dma_controller(9) page β¨ this is the kernel API manual and honestly it's giving "small struct, big job" energy.
πΈ NAME πΈ
struct dma_controller β A DMA Controller. that's it, that's the name π
β¨ SYNOPSIS β¨
here's the actual struct, copied exactly so you can trust it fr fr:
struct dma_controller {
struct musb *musb;
struct dma_channel *(*channel_alloc)(struct dma_controller *,
struct musb_hw_ep *, u8 is_tx);
void (*channel_release)(struct dma_channel *);
int (*channel_program)(struct dma_channel *channel, u16 maxpacket,
u8 mode, dma_addr_t dma_addr, u32 length);
int (*channel_abort)(struct dma_channel *);
int (*is_compatible)(struct dma_channel *channel, u16 maxpacket,
void *buf, u32 length);
void (*dma_callback)(struct dma_controller *);
};
like, look at all those function pointers π she's a struct full of callbacks and she knows it.
π Members π
musbβ the usb controller. she's the main character this struct orbits around πchannel_allocβ call this to allocate a DMA channel β¨channel_releaseβ call this to release a DMA channel π¦channel_abortβ call this to abort a pending DMA transaction, returning it to FREE (but allocated) state. so like, it goes back to being free but it still exists, ok? don't get it twisted πdma_callbackβ invoked on DMA completion, useful to run platform code such IRQ acknowledgment. that's literally what the page says, no cap π
ngl,channel_programandis_compatibleare right there in the struct too, but this page doesn't tell us what they do π don't come for me, i'm just the messenger.
π Description π
Controllers manage dma channels. periodt. short, sweet, iconic π
β SEE ALSO β
- Kernel file
./drivers/usb/musb/musb_dma.h struct dma_channel(9)
and that's the whole vibe check, bestie π«Ά this came to you from ./drivers/usb/musb, dated October 2026, and it's the struct dma_controller(9) page β mwah, go read musb_dma.h next π
π
π¦ 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