libie_cp_unmap_dma_mem(9)
π¦ libie_cp_unmap_dma_mem(9) π¦
Okay bestie, welcome to the Kernel API Manual β yes, that manual, the one for people who live in drivers/ at 2am and think that's a personality trait (it is, and it's iconic). This page is all about libie_cp_unmap_dma_mem, and no cap, it's the cleanup queen of the libie controlq saga. Sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
libie_cp_unmap_dma_mem β unmaps a DMA address that you (or someone) already mapped earlier. That's it, that's the whole gig. The un-mapper. The "we're so done here" button. π
π SYNOPSIS π
void libie_cp_unmap_dma_mem (struct device *dev , const struct libie_cp_dma_mem *dma_mem );
Yup, that's the whole signature β she takes two things and returns literally nothing (void), because she's a doer, not a reporter. π«Ά
πΈ ARGUMENTS πΈ
Two arguments, both important, neither optional, let's go:
devβ device information. Like, the actual device you're dealing with β she needs to know whose DMA mapping we're undoing. Main character energy, obviously. πdma_memβ DMA memory information. This is the memory struct itself, and yes it's aconst struct libie_cp_dma_mem *, meaning we're looking, not touching. Respect the const. π
π SEE ALSO π
Bestie, this list is long and honestly kind of iconic β it's the whole libie controlq friend group. Every single one of them, in order, coming through:
- Kernel file
./drivers/net/ethernet/intel/libie/controlq.c libie_ctlq_free_fq(9),libie_ctlq_init_fq(9),libie_ctlq_prep_rx_desc(9),libie_ctlq_post_rx_buffs(9),libie_ctlq_free_tx_msgs(9),libie_ctlq_alloc_tx_msgs(9),libie_cp_free_desc_mem(9),libie_ctlq_dealloc_ring_res(9),libie_cp_alloc_desc_mem(9),libie_ctlq_alloc_queue_res(9),libie_ctlq_init_regs(9),libie_find_ctlq(9),libie_ctlq_add(9),libie_ctlq_remove(9),libie_ctlq_init(9),libie_ctlq_deinit(9),libie_ctlq_tx_desc_from_msg(9),libie_ctlq_send_desc_avail(9),libie_ctlq_send(9),libie_ctlq_send_clean(9),libie_ctlq_fill_rx_msg(9),libie_ctlq_recv(9),libie_ctlq_xn_pop_free(9),__libie_ctlq_xn_push_free(9),libie_ctlq_xn_push_free(9),libie_ctlq_xn_deinit_dma(9),libie_ctlq_xn_init_dma(9),libie_ctlq_xn_process_recv(9),libie_xn_check_async_timeout(9),libie_ctlq_xn_recv(9),libie_cp_map_dma_mem(9),libie_ctlq_xn_process_send(9),libie_ctlq_xn_send(9),struct libie_ctlq_xn_rel_tx_ctx(9),libie_ctlq_xn_rel_tx_buf(9),libie_ctlq_xn_send_clean(9),libie_ctlq_xn_shutdown(9),libie_ctlq_xn_deinit(9),libie_ctlq_xn_init(9)
Like, go read some of those fr fr β especially her bestie libie_cp_map_dma_mem(9), because every unmap needs a map, iykyk. π₯
Also quick vibe check: notice__libie_ctlq_xn_push_free(9)has two underscores andlibie_ctlq_xn_push_free(9)has none. They are different functions. Do not @ me. Do not merge them. π
That's the whole page, babe β she's short, she's sweet, she unmaps DMA memory. β¨
This little gem lives in the Kernel API Manual, last touched in October 2026, and the source line got cut off at ./drivers/net/ethernet/intel/l... β so you know it's a deep path, and you know she's been sitting there being useful the whole time. Stay slay, stay mapped (until you're not), mwah πππ§ββοΈ
π¦ 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