ENUM DMA_TRANSFER_DIRECTION(9)
π enum dma_transfer_direction(9) β Kernel API Manual, bestie edition β¨
okay so we're in the Kernel API Manual today and the main character is enum dma_transfer_direction π β literally the vibe-check for which way your DMA data is gonna flow. no cap.
πΈ NAME πΈ
enum dma_transfer_direction β the dma transfer mode and direction indicator, aka "which way is the data going, bestie??" π¦
β¨ SYNOPSIS β¨
enum dma_transfer_direction {
DMA_MEM_TO_MEM ,
DMA_MEM_TO_DEV ,
DMA_DEV_TO_MEM ,
DMA_DEV_TO_DEV ,
DMA_TRANS_NONE
};
like, there it is, the whole squad, one little enum π
π Constants π
here's the rundown of every member, no skips:
DMA_MEM_TO_MEMβ Async/Memcpy mode, the classic copy-paste energy πDMA_MEM_TO_DEVβ Slave mode & From Memory to Device πDMA_DEV_TO_MEMβ Slave mode & From Device to Memory π¦DMA_DEV_TO_DEVβ Slave mode & From Device to Device π₯DMA_TRANS_NONEβ-- undescribed --π«€ yeah that's literally all the manpage says about it, not me being lazy, i promise π
π SEE ALSO π
the whole extended friend group is listed here, and honestly it's giving group chat with 36 members π§ β go check out the Kernel file ./include/linux/dmaengine.h first, then:
dma_cookie_t(9), enum dma_status(9), enum dma_transaction_type(9), struct data_chunk(9), struct dma_interleaved_template(9), struct dma_vec(9), enum dma_ctrl_flags(9), enum sum_check_bits(9), enum sum_check_flags(9), enum dma_desc_metadata_mode(9), struct dma_chan_percpu(9), struct dma_router(9), struct dma_chan(9), struct dma_chan_dev(9), enum dma_slave_buswidth(9), struct dma_slave_config(9), enum dma_residue_granularity(9), struct dma_slave_caps(9), dma_filter_fn(9), struct dma_async_tx_descriptor(9), struct dma_tx_state(9), enum dmaengine_alignment(9), struct dma_slave_map(9), struct dma_filter(9), struct dma_device(9), dmaengine_prep_peripheral_dma_vec(9), dmaengine_prep_config_sg_safe(9), dmaengine_prep_config_single_safe(9), dmaengine_prep_dma_memset(9), dmaengine_terminate_all(9), dmaengine_terminate_async(9), dmaengine_synchronize(9), dmaengine_terminate_sync(9), dma_async_issue_pending(9), dma_async_is_tx_complete(9), dma_async_is_complete(9)
bestie fr fr read these before you go poking at a dma_chan, iykyk π«Ά
okay that's the whole page, mwah π
sign-off time: this little masterpiece lives in ./include/linux, it's the October 2026 version, and yes the page header said enum dma_transfer_direction(9) all three times because it's an icon and it knows it π periodt.
π¦ 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