STRUCT DMA_SLAVE_MAP(9)
πΈ struct dma_slave_map(9) πΈ
okay bestie, so this is a page straight out of the Kernel API Manual β yes, the actual kernel, not a vibe. it's about struct dma_slave_map, which is the little matchmaker struct that links a slave device and its slave channel to a parameter that a filter function is gonna use later. it's giving wingman energy, fr fr π
β¨ NAME β¨
struct dma_slave_map β associates slave device and it's slave channel with parameter to be used by a filter function π
like, it's the intro card at the party that says "this device, this channel, and this mysterious param go together, the filter function will know what to do with it" π¦
β¨ SYNOPSIS β¨
struct dma_slave_map {
const char *devname;
const char *slave;
void *param;
};
three fields, all main character, no notes π
π Members π
devnameβ name of the device. the actual device name string, lowkey the whole identity of the thing πslaveβ slave channel name. yes that's what it's called, that's the field name, keep it exactly as-is bestie πparamβ opaque parameter to pass tostruct dma_filter.fn. "opaque" here is not a dig, it literally means the kernel isn't looking inside it β it just hands it straight to the filter function and trusts the vibes π
π SEE ALSO π
Kernel file ./include/linux/dmaengine.h β and then, bestie, brace yourself, the whole friend group showed up:
dma_cookie_t(9)enum dma_status(9)enum dma_transaction_type(9)enum dma_transfer_direction(9)struct data_chunk(9)struct dma_interleaved_template(9)struct dma_vec(9)enum dma_ctrl_flags(9)enum sum_check_bits(9)enum sum_check_flags(9)enum dma_desc_metadata_mode(9)struct dma_chan_percpu(9)struct dma_router(9)struct dma_chan(9)struct dma_chan_dev(9)enum dma_slave_buswidth(9)struct dma_slave_config(9)enum dma_residue_granularity(9)struct dma_slave_caps(9)dma_filter_fn(9)struct dma_async_tx_descriptor(9)struct dma_tx_state(9)enum dmaengine_alignment(9)struct dma_filter(9)struct dma_device(9)dmaengine_prep_peripheral_dma_vec(9)dmaengine_prep_config_sg_safe(9)dmaengine_prep_config_single_safe(9)dmaengine_prep_dma_memset(9)dmaengine_terminate_all(9)dmaengine_terminate_async(9)dmaengine_synchronize(9)dmaengine_terminate_sync(9)dma_async_issue_pending(9)dma_async_is_tx_complete(9)dma_async_is_complete(9)
that's not a SEE ALSO, that's a whole groupchat roll call π₯ read them all, they're all linked for a reason, iykyk β
ngl,parambeingvoid *and described as "opaque" is your reminder that you do NOT get to peek inside it here. the filter function handles that. stay in your lane, respectfully π«Ά
and that's the whole page, bestie β filed under ./include/linux, dated October 2026, still called struct dma_slave_map(9) even after all this π slay, go read the dmaengine header, 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