dma_request_chan_by_mask(9)
π dma_request_chan_by_mask(9) β from the Kernel API Manual π
okay bestie, welcome to the group chat. this one's from the Kernel API Manual, and it's actually kinda short but it SLAPS. it's literally "gimme a DMA channel that matches my vibe" β no cap.
β¨ NAME β¨
dma_request_chan_by_mask β allocate a channel satisfying certain capabilities π¦
like, you hand it a mask of capabilities and it goes off and finds you a DMA channel that actually fits the bill. main character energy fr.
πΈ SYNOPSIS πΈ
struct dma_chan * dma_request_chan_by_mask (const dma_cap_mask_t *mask
);
that's it. that's the whole signature. one argument, one pointer back, iconic.
π ARGUMENTS π
maskβ capabilities that the channel must satisfy π
so basically the mask is you telling the kernel "okay this is the bare minimum bestie, don't come back with anything less." the channel has to satisfy it. periodt.
β DESCRIPTION β
Returns a pointer to the appropriate DMA channel on success β or an error pointer π
that's the whole thing. success = you got a channel pointer. not-success = you got an error pointer back, so like, do a little vibe check on it (iykyk) before you go dereferencing anything, okay? π«Ά
π SEE ALSO π
Kernel file ./drivers/dma/dmaengine.c β that's the home base for all of this π
and then the whole extended friend group:
dev_to_dma_chan(9)struct dma_chan_tbl_ent(9)dma_chan_is_local(9)min_chan(9)dma_channel_rebalance(9)balance_ref_count(9)dma_chan_get(9)dma_chan_put(9)dma_find_channel(9)dma_issue_pending_all(9)dma_get_slave_channel(9)__dma_request_channel(9)dma_request_chan(9)devm_dma_request_chan(9)dmaengine_get(9)dmaengine_put(9)dma_async_device_register(9)dma_async_device_unregister(9)dmaenginem_async_device_register(9)dma_wait_for_async_tx(9)dma_run_dependencies(9)
go read them all. or don't. but like, they're there π
and that's the whole page bestie β no filler, all facts π§
this lil dma engine situation lives over in ./drivers/dma, and the docs are dated October 2026. slay, honestly. π
β¨π
π¦ 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