of_zynqmp_dma_xlate(9)
π« NAME π«
of_zynqmp_dma_xlate β the translation function, bestie. it's giving "matchmaker for the device tree" energy β¨
so this page is from the Kernel API Manual (yes, the fancy one π), and it's literally just about one lil function that turns a device-tree DMA specifier into an actual usable DMA channel. slay.
π¦ SYNOPSIS π¦
struct dma_chan * of_zynqmp_dma_xlate (struct of_phandle_args *dma_spec
, struct of_dma *ofdma );
likeβ¦ look at her. two args, returns a struct dma_chan *. iconic behavior fr π
π ARGUMENTS π
dma_specβ a pointer to the DMA specifier exactly as you find it in the device tree πΈ. this is the "who's asking" of the operation.ofdmaβ a pointer to the DMA controller data π§. this is the "who's answering."
two pointers walk into a bar. one of them is the spec, the other one is the controller. the rest is history π
β RETURN β
gives you back a DMA channel pointer on success π β and NULL on error π. no in-between, no "it's complicated", just vibes or nothing. check it, bestie. iykyk.
π SEE ALSO π
okay so this is the part where the manpage absolutely ATE β look at this lineup, it's the whole zynqmp DMA cinematic universe π
the source file, in all her glory:
./drivers/dma/xilinx/zynqmp_dma.c
the structs (the main characters):
struct zynqmp_dma_desc_ll(9)struct zynqmp_dma_desc_sw(9)struct zynqmp_dma_chan(9)struct zynqmp_dma_device(9)
the supporting cast (no cap, there's like a LOT of them):
zynqmp_dma_update_desc_to_ctrlr(9)zynqmp_dma_desc_config_eod(9)zynqmp_dma_config_sg_ll_desc(9)zynqmp_dma_init(9)zynqmp_dma_tx_submit(9)zynqmp_dma_get_descriptor(9)zynqmp_dma_free_descriptor(9)zynqmp_dma_free_desc_list(9)zynqmp_dma_alloc_chan_resources(9)zynqmp_dma_start(9)zynqmp_dma_handle_ovfl_int(9)zynqmp_dma_device_config(9)zynqmp_dma_start_transfer(9)zynqmp_dma_chan_desc_cleanup(9)zynqmp_dma_complete_descriptor(9)zynqmp_dma_issue_pending(9)zynqmp_dma_free_descriptors(9)zynqmp_dma_free_chan_resources(9)zynqmp_dma_reset(9)zynqmp_dma_irq_handler(9)zynqmp_dma_do_tasklet(9)zynqmp_dma_device_terminate_all(9)zynqmp_dma_synchronize(9)zynqmp_dma_prep_memcpy(9)zynqmp_dma_chan_remove(9)zynqmp_dma_chan_probe(9)zynqmp_dma_suspend(9)zynqmp_dma_resume(9)zynqmp_dma_runtime_suspend(9)zynqmp_dma_runtime_resume(9)zynqmp_dma_probe(9)zynqmp_dma_remove(9)
like, go read them. all of them. or at least the ones you need. i'm not your mom π«Ά
ngl this page is short but she's efficient β the whole job is: spec in, channel out. that's the plot. π
β¨ and that's the page, bestie β¨ this little slice of the Kernel API Manual lives over in ./drivers/dma/xilinx and it's dated October 2026 β so yes, she's future-dated, she's ahead of her time, she's a main character ππ mwah, go read some more manpages, you're doing amazing π
π¦ 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