ccio_free(9)
π ccio_free(9) π
okay so this is a page from the Kernel API Manual and it's literally all about one little function that cleans up after you, and honestly? iconic behaviour. let's get into it bestie π«Ά
β¨ NAME β¨
ccio_free β free a consistent DMA mapping. that's it, that's the whole job. she's a cleanup queen π
πΈ SYNOPSIS πΈ
void ccio_free (struct device *dev , size_t size , void *cpu_addr ,
dma_addr_t dma_handle , unsigned long attrs );
no cap, that's the exact signature β copy it character for character, don't get creative with it π
π ARGUMENTS π
devβ the PCI device. yes, the device. the main character of this whole operation πsizeβ the length of the DMA region. how much we're freeing, bestie, gotta know the size π¦cpu_addrβ the cpu address that came back fromccio_alloc. it's the return-to-sender address πdma_handleβ the device address that came back fromccio_alloc. also return-to-sender, but make it device-flavoured βattrsβ attributes. that's genuinely all the original tells us, so i'm not gonna sit here and invent lore about it, okay? π
π DESCRIPTION π
so what does she actually do? this function implements the pci_free_consistent function. periodt. that's the whole description and i'm not adding anything else because i refuse to make stuff up about kernel internals π
π₯ SEE ALSO π₯
the kernel file is ./drivers/parisc/ccio-dma.c and it's giving whole-family-reunion energy, because look at this whole friend group:
ccio_alloc_range(9)ccio_free_range(9)ccio_io_pdir_entry(9)ccio_clear_io_tlb(9)ccio_mark_invalid(9)ccio_dma_supported(9)ccio_map_single(9)ccio_unmap_phys(9)ccio_alloc(9)β her bestie, the one who hands out the mappings πccio_map_sg(9)ccio_unmap_sg(9)ccio_find_ioc(9)ccio_get_iommu(9)ccio_ioc_init(9)ccio_probe(9)ccio_init(9)
like, that's a squad. iykyk π
and that's the whole page, bestie β short, sweet, and to the point β¨ this one lives over in ./drivers/parisc and it's dated October 2026, so go off and free those consistent DMA mappings responsibly π
ππ¦
π¦ 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