STRUCT DATA_CHUNK(9)
okay bestie, you're reading struct data_chunk(9) from the Kernel API Manual โ and no cap, this is the tiny-but-iconic piece of a scatter-gather list that makes a frame. let's unpack the whole vibe check ๐โจ
๐ธ NAME ๐ธ
struct data_chunk โ element of the scatter-gather list that makes a frame. literally the frame-making unit, iykyk ๐ฆ
โจ SYNOPSIS โจ
struct data_chunk {
size_t size;
size_t icg;
size_t dst_icg;
size_t src_icg;
};
๐ซถ Members ๐ซถ
okay these are the four fields, and yes every single one is getting its moment ๐
sizeโ Number of bytes to read from source.size_dst := fn(op, size_src), so it doesn't mean much for destination. like, the destination side is doing its own math, bestie ๐งฎ๐icgโ Number of bytes to jump after the last src/dst address of this chunk and before the first src/dst address for the next chunk. ignored for dst(assumed0), ifdst_incis true anddst_sglis false. ignored for src(assumed0), ifsrc_incis true andsrc_sglis false. gap energy, but only when those flags say so โจdst_icgโ Number of bytes to jump after the last dst address of this chunk and before the first dst address for the next chunk. ignored ifdst_incis true anddst_sglis false. ๐src_icgโ Number of bytes to jump after the last src address of this chunk and before the first src address for the next chunk. ignored ifsrc_incis true andsrc_sglis false. ๐ซถ
๐ SEE ALSO ๐
Kernel file ./include/linux/dmaengine.h and the whole squad of friends, in order, no cap:
dma_cookie_t(9),enum dma_status(9),enum dma_transaction_type(9),enum dma_transfer_direction(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_slave_map(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)
okay bestie, that's the whole page ๐ brought to you by the source path ./include/linux, the date/version vibe October 2026, and the manual page struct data_chunk(9). slay and go make a frame ๐ฆโจ
๐ฆ 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