sg_dma_mark_bus_address(9)
π sg_dma_mark_bus_address β the Kernel API Manual, bestie edition β¨
okay so this is sg_dma_mark_bus_address(9), straight out of the Kernel API Manual, and it's honestly such a tiny little function with one very specific job π
β¨ NAME β¨
sg_dma_mark_bus_address β literally just marks the scatterlist entry as a bus address, that's the whole vibe π
πΈ SYNOPSIS πΈ
void sg_dma_mark_bus_address (struct scatterlist *sg );
π¦ ARGUMENTS π¦
sgβ the SG entry, bestie. that's the one you're marking π«Ά
π₯ DESCRIPTION π₯
So what this does is it marks the sg entry you passed in, to indicate that the dma_address is a bus address and doesn't need to be unmapped π
Heads up though, this is NOT for everyone β this should only be used by dma_map_sg implementations to mark bus addresses, so that they can be properly cleaned up in dma_unmap_sg. that's it, that's the rule, no cap π
π SEE ALSO π
Kernel file ./include/linux/scatterlist.h plus the whole scatterlist friend group, all of them present and accounted for:
sg_next(9)sg_assign_page(9)sg_set_page(9)sg_set_folio(9)sg_set_buf(9)sg_chain(9)sg_mark_end(9)sg_unmark_end(9)sg_dma_is_bus_address(9)sg_dma_unmark_bus_address(9)sg_dma_is_swiotlb(9)sg_dma_mark_swiotlb(9)sg_phys(9)sg_virt(9)sg_init_marker(9)sg_alloc_table_from_pages(9)sg_page_iter_page(9)sg_page_iter_dma_address(9)for_each_sg_page(9)for_each_sg_dma_page(9)for_each_sgtable_page(9)for_each_sgtable_dma_page(9)
so yeah, that's the page π it lives over at ./include/linux, dated October 2026, and this whole thing is sg_dma_mark_bus_address(9) from the Kernel API Manual β stan the scatterlist, periodt ππ
β¨
π¦ 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