dma_iova_unlink(9)
π« dma_iova_unlink(9) π«
okay so bestie, welcome to the Kernel API Manual β this one's a kernel-level page, section 9, and it's literally all about unlinking a range of IOVA space. no cap. let's get into it π
πΈ NAME πΈ
dma_iova_unlink β unlink a range of IOVA space β¨
π¦ SYNOPSIS π¦
void dma_iova_unlink (struct device *dev , struct dma_iova_state *state
, size_t offset , size_t size , enum dma_data_direction dir , unsigned
long attrs );
it returns void, so likeβ¦ nothing comes back. it just does the thing π
π ARGUMENTS π
devβ the DMA device. your main character device, fr fr π«Άstateβ the IOVA state. this is the vibe we're operating on.offsetβ offset into the IOVA state to unlink. like, where in the state do we start πsizeβ size of the buffer. how much of it we're talking about.dirβ DMA direction. it's anenum dma_data_direction, so yk how it is.attrsβ attributes of mapping properties. the little extras π₯
β¨ DESCRIPTION β¨
so what it does is: unlink a range of IOVA space for the given IOVA state. that's the whole thing. that's the assignment. it ate and left no crumbs π
lowkey important: it's scoped to the given IOVA state β that's the state arg doing the heavy lifting π
π SEE ALSO π
kernel file ./drivers/iommu/dma-iommu.c β go read it, iykyk π§, plus these iconic little friends:
iommu_get_dma_cookie(9)iommu_get_msi_cookie(9)iommu_put_dma_cookie(9)iommu_put_msi_cookie(9)iommu_dma_get_resv_regions(9)iommu_dma_init_options(9)iommu_dma_init_domain(9)dma_info_to_prot(9)dma_iova_try_alloc(9)dma_iova_free(9)dma_iova_link(9)dma_iova_sync(9)dma_iova_destroy(9)
and that's the page, bestie! π
signed, sealed, delivered: this one came out of ./drivers/iommu, stamped October 2026, and it's officially dma_iova_unlink(9). slay π
β¨
π¦ 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