xilinx_dpdma_terminate_all(9)
π xilinx_dpdma_terminate_all β the Kernel API Manual glow-up β¨
okay bestie, so we're looking at xilinx_dpdma_terminate_all(9) from the Kernel API Manual, and honestly? she's a little stop-button icon and I'm obsessed. Let's get into it π
β¨ NAME β¨
xilinx_dpdma_terminate_all β Terminate the channel and descriptors. That's it, that's the vibe. π
π¦ SYNOPSIS π¦
int xilinx_dpdma_terminate_all (struct dma_chan *dchan );
πΈ ARGUMENTS πΈ
dchanβ DMA channel. that's the one bestie, the channel we're about to hit pause on π«Ά
π DESCRIPTION π
okay so here's the tea. This function pauses the channel without waiting for ongoing transfers to complete. Not me being impatient, it's literally the design π Like, we are not standing around waiting for the current transfers to finish their little journey β we just pause and dip.
The waiting part? That's a whole different function's job. Waiting for completion is performed by xilinx_dpdma_synchronize, which will disable the channel to complete the stop. So terminate_all hits pause, xilinx_dpdma_synchronize comes in later and finishes the job. teamwork, iykyk π€
Then there's the descriptor situation, and listen closely because this part is giving fine print energy:
All the descriptors associated with the channel that are guaranteed not to be touched by the hardware. The pending and active descriptor are not touched, and will be freed either upon completion, or by xilinx_dpdma_synchronize. So like, don't come for those two, they're literally busy being main characters π₯
β RETURN β
0on success π-ETIMEDOUTif the channel failed to stop π (she tried, bestie, she really did)
π SEE ALSO π
all the siblings, in the order the manpage gave them, no skips, no cap:
Kernel file ./drivers/dma/xilinx/xilinx_dpdma.c, struct xilinx_dpdma_hw_desc(9), struct xilinx_dpdma_sw_desc(9), struct xilinx_dpdma_tx_desc(9), struct xilinx_dpdma_chan(9), struct xilinx_dpdma_device(9), xilinx_dpdma_sw_desc_set_dma_addrs(9), xilinx_dpdma_chan_alloc_sw_desc(9), xilinx_dpdma_chan_free_sw_desc(9), xilinx_dpdma_chan_dump_tx_desc(9), xilinx_dpdma_chan_alloc_tx_desc(9), xilinx_dpdma_chan_free_tx_desc(9), xilinx_dpdma_chan_prep_cyclic(9), xilinx_dpdma_chan_prep_interleaved_dma(9), xilinx_dpdma_chan_enable(9), xilinx_dpdma_chan_disable(9), xilinx_dpdma_chan_pause(9), xilinx_dpdma_chan_unpause(9), xilinx_dpdma_chan_queue_transfer(9), xilinx_dpdma_chan_ostand(9), xilinx_dpdma_chan_notify_no_ostand(9), xilinx_dpdma_chan_wait_no_ostand(9), xilinx_dpdma_chan_poll_no_ostand(9), xilinx_dpdma_chan_stop(9), xilinx_dpdma_chan_done_irq(9), xilinx_dpdma_chan_vsync_irq(9), xilinx_dpdma_chan_err(9), xilinx_dpdma_chan_handle_err(9), xilinx_dpdma_alloc_chan_resources(9), xilinx_dpdma_free_chan_resources(9), xilinx_dpdma_synchronize(9), xilinx_dpdma_err(9), xilinx_dpdma_handle_err_irq(9), xilinx_dpdma_enable_irq(9), xilinx_dpdma_disable_irq(9), xilinx_dpdma_chan_err_task(9)
like, that's the whole group chat. read them, love them, link them π
and that's the page, bestie π§ this cutie lives at ./drivers/dma/xilinx and she's dated October 2026 in the Kernel API Manual β go off, timestamp πβ¨
π¦ 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