xilinx_dpdma_terminate_all(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 ⭐

  • 0 on success πŸŽ‰
  • -ETIMEDOUT if 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