STRUCT AT_DESC(9)
π struct at_desc(9) β Kernel API Manual, bestie edition π
okay so welcome to the struct at_desc(9) page!! it's giving "software descriptor" energy and honestly? it's iconic. this is the kernel API manual entry, so grab a strawberry drink π and let's get into it β¨
β¨ NAME β¨
struct at_desc β the software descriptor. that's it, that's the vibe π
πΈ SYNOPSIS πΈ
struct at_desc {
struct virt_dma_desc vd;
struct at_dma_chan *atchan;
size_t total_len;
unsigned int sglen;
size_t boundary;
size_t dst_hole;
size_t src_hole;
bool memset_buffer;
dma_addr_t memset_paddr;
int *memset_vaddr;
struct atdma_sg sg[];
};
look at her. main character struct fr fr π
π¦ Members π¦
vdβ pointer to the virtual dma descriptor. lowkey the VIP pass of this struct πatchanβ pointer to the atmel dma channel. yup, that's the atmel one π§total_lenβ total transaction byte count. the whole entire size, no cap.sglenβ number of sg entries. count 'em π₯boundaryβ number of transfers to perform before the automatic address increment operation. yes bestie, it's a before thing π«Άdst_holeβ value to add to the destination address when the boundary has been reached. once you hit the boundary, this gets added πsrc_holeβ value to add to the source address when the boundary has been reached. same deal, but source side βmemset_bufferβ buffer used for the memset operation. the memset one, obviously πmemset_paddrβ physical address of the buffer used for the memset operation. the physical address of it πmemset_vaddrβ virtual address of the buffer used for the memset operation. and here's the virtual address of that same buffer πsgβ array of sgs. literally an array of them π
π SEE ALSO π
okay so there are SO many siblings, here's the whole family, no skips:
- Kernel file
./drivers/dma/at_hdmac.c struct atdma_sg(9)enum atc_status(9)struct at_dma_chan(9)struct at_dma(9)atc_chan_is_enabled(9)atc_chan_is_paused(9)atc_chan_is_cyclic(9)set_lli_eol(9)struct at_dma_platform_data(9)struct at_dma_slave(9)atc_dostart(9)atc_calc_bytes_left(9)atc_get_llis_residue(9)atc_get_residue(9)atc_handle_error(9)atc_prep_dma_interleaved(9)atc_prep_dma_memcpy(9)atc_prep_dma_memset(9)atc_prep_slave_sg(9)atc_prep_dma_cyclic(9)atc_tx_status(9)atc_alloc_chan_resources(9)atc_free_chan_resources(9)at_dma_off(9)
go read them all bestie, iykwim π
and that's the page!! mwah π this one ships from ./drivers/dma, dated October 2026 β signed, sealed, struct at_desc(9) π«Άβ¨
π¦ 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