dma_async_is_tx_complete(9)
π« dma_async_is_tx_complete β poll for transaction completion π«
okay so this is from the Kernel API Manual and bestie, it's literally about asking "heyβ¦ is my DMA transaction done yet?" π
πΈ NAME πΈ
dma_async_is_tx_complete β poll for transaction completion π
β¨ SYNOPSIS β¨
enum dma_status dma_async_is_tx_complete (struct dma_chan *chan ,
dma_cookie_t cookie , dma_cookie_t *last , dma_cookie_t *used );
π¦ ARGUMENTS π¦
chanβ the DMA channel, like the main character of this whole operation πcookieβ the transaction identifier you wanna check the status of πͺ (yes it's really called a cookie, no cap)lastβ returns the last completed cookie; can beNULLif you're not about that info rnusedβ returns the last issued cookie; can beNULLtoo, no pressure π«Ά
π DESCRIPTION π
so here's the tea: if you pass in last and used, then upon return they reflect the driver's internal state β¨ and you can use them with dma_async_is_complete to check the status of multiple cookies without re-checking hardware state β which is lowkey iconic because hardware checks are expensive and nobody has time for that ππ₯
π SEE ALSO π
Kernel file ./include/linux/dmaengine.h and their whole friend group:
dma_cookie_t(9)enum dma_status(9)enum dma_transaction_type(9)enum dma_transfer_direction(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_complete(9)
that's the whole page bestie, go poll some transactions and slay π
source: ./include/linux Β· dated October 2026 Β· mwah, byeee π§π
π¦ 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