adm_dma_xlate(9)
β¨ adm_dma_xlate(9) β¨
the little kernel-API page from the Kernel API Manual, bestie β yes the whole thing lives in there
πΈ NAME πΈ
adm_dma_xlate β okay so the original page literally leaves this one blank, no description, nothing, just the name and then silence π so I'm not gonna invent a summary for you. Spoiler though: it's the DMA xlate hook. Keep reading, it all makes sense in a sec π
π¦ SYNOPSIS π¦
struct dma_chan * adm_dma_xlate (struct of_phandle_args *dma_spec ,
struct of_dma *ofdma );
That's the whole signature, copied character for character, no notes β¨
π ARGUMENTS π
dma_specβ pointer to the DMA specifier, exactly as you found it in the device tree πofdmaβ pointer to the DMA controller data π
π DESCRIPTION π
So this one can roll with either the 1-cell or the 2-cell format β flexible queen behavior, we love to see it π«Ά
- the first cell identifies the slave device
- the optional second cell carries the crci value
And the return vibe: it gives you back a pointer to the appropriate dma channel on success, or NULL on error π (yes, always check for the NULL, that's just basic self-care)
π₯ SEE ALSO π₯
Kernel file ./drivers/dma/qcom/qcom_adm.c, plus the whole friend group:
adm_free_chan(9)adm_get_blksize(9)adm_process_fc_descriptors(9)adm_process_non_fc_descriptors(9)adm_prep_slave_sg(9)adm_terminate_all(9)adm_start_dma(9)adm_dma_irq(9)adm_tx_status(9)adm_issue_pending(9)adm_dma_free_desc(9)
and that's the page!! shoutout to ./drivers/dma/qcom for being the source, and to October 2026 for the date β timestamped and iconic, 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