of_dma_xilinx_xlate(9)
π of_dma_xilinx_xlate(9) β the Kernel API Manual, bestie edition β¨
okay so welcome to the Kernel API Manual entry for of_dma_xilinx_xlate, and trust me when I say this one is short but it matters. It's literally the little translation function that turns your device-tree DMA spec into an actual DMA channel you can use. no cap. π¦
πΈ NAME πΈ
of_dma_xilinx_xlate β the translation function π«
β¨ SYNOPSIS β¨
struct dma_chan * of_dma_xilinx_xlate (struct of_phandle_args *dma_spec
, struct of_dma *ofdma );
like, that's the whole signature. two args in, one channel pointer out. slay. π
π ARGUMENTS π
dma_specβ a pointer to the DMA specifier, exactly as you found it chillin' in the device tree. that's where the magic comes from, bestie. πofdmaβ a pointer to the DMA controller data. this is your controller's whole vibe, handed over so the translation can actually happen. π
π«Ά RETURN π«Ά
A DMA channel pointer on success, and NULL on error. that's it, that's the deal. if you get NULL back, something went sideways β handle it, don't ignore it. π
real talk: check that return value. NULL means error and the kernel does not owe you a gentle hint. π
π₯ SEE ALSO π₯
okay this is the part where the manpage absolutely pops off β the cross-reference list is giving main character energy and it is LONG, so buckle up. every single one of these is legit, i'm not skipping a single one: π
- Kernel file
./drivers/dma/xilinx/xilinx_dma.c struct xilinx_vdma_desc_hw(9)struct xilinx_axidma_desc_hw(9)struct xilinx_aximcdma_desc_hw(9)struct xilinx_cdma_desc_hw(9)struct xilinx_vdma_tx_segment(9)struct xilinx_axidma_tx_segment(9)struct xilinx_aximcdma_tx_segment(9)struct xilinx_cdma_tx_segment(9)struct xilinx_dma_tx_descriptor(9)struct xilinx_dma_chan(9)enum xdma_ip_type(9)struct xilinx_dma_device(9)vdma_desc_write_64(9)xilinx_dma_get_metadata_ptr(9)xilinx_vdma_alloc_tx_segment(9)xilinx_cdma_alloc_tx_segment(9)xilinx_axidma_alloc_tx_segment(9)xilinx_aximcdma_alloc_tx_segment(9)xilinx_dma_free_tx_segment(9)xilinx_mcdma_free_tx_segment(9)xilinx_cdma_free_tx_segment(9)xilinx_vdma_free_tx_segment(9)xilinx_dma_alloc_tx_descriptor(9)xilinx_dma_free_tx_descriptor(9)xilinx_dma_free_desc_list(9)xilinx_dma_free_descriptors(9)xilinx_dma_free_chan_resources(9)xilinx_dma_get_residue(9)xilinx_dma_chan_handle_cyclic(9)xilinx_dma_chan_desc_cleanup(9)xilinx_dma_do_tasklet(9)xilinx_dma_alloc_chan_resources(9)xilinx_dma_calc_copysize(9)xilinx_dma_tx_status(9)xilinx_dma_stop_transfer(9)xilinx_cdma_stop_transfer(9)xilinx_dma_start(9)xilinx_vdma_start_transfer(9)xilinx_cdma_start_transfer(9)xilinx_dma_start_transfer(9)xilinx_mcdma_start_transfer(9)xilinx_dma_issue_pending(9)xilinx_dma_device_config(9)xilinx_dma_complete_descriptor(9)xilinx_dma_reset(9)xilinx_dma_chan_reset(9)xilinx_mcdma_irq_handler(9)xilinx_dma_irq_handler(9)append_desc_queue(9)xilinx_dma_tx_submit(9)xilinx_vdma_dma_prep_interleaved(9)xilinx_cdma_prep_memcpy(9)xilinx_dma_prep_peripheral_dma_vec(9)xilinx_dma_prep_slave_sg(9)xilinx_dma_prep_dma_cyclic(9)xilinx_mcdma_prep_slave_sg(9)xilinx_dma_terminate_all(9)xilinx_vdma_channel_set_config(9)xilinx_dma_chan_remove(9)xilinx_dma_chan_probe(9)xilinx_dma_child_probe(9)xilinx_dma_probe(9)xilinx_dma_remove(9)
like. sixty-four entries. ate and left no crumbs. πβ¨
source location: ./drivers/dma/xilinx Β· date: October 2026 πΈ
and that's the whole page bestie β go forth, translate those DMA specs, and remember: NULL means error, so vibe check your return value every single time. mwah πππ¦
π¦ 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