free_dma_buffer(9)
π free_dma_buffer(9) β a Kernel API Manual moment
okay bestie, welcome to the free_dma_buffer(9) glow-up page β¨ this one's from the Kernel API Manual, and it's literally the cleanup arc of the DMA buffer saga π§Ήπ
β¨ NAME β¨
free_dma_buffer β Free DMA Buffer. that's it, that's the whole vibe. it frees. the buffer. periodt π
π¦ SYNOPSIS π¦
void free_dma_buffer (struct vio_dev *vdev , size_t size , void *vaddr ,
dma_addr_t dma_handle );
no cap, that's the whole signature β void return, four args, she's not giving you anything back except freed memory πΈ
π ARGUMENTS π
vdevβ avio_devstruct. yes that's literally all the original says, she's mysterious like that πsizeβ the "Size field". iconic label, no notes.vaddrβ the "Address field". also iconic, also no notes.dma_handleβ the "DMA address field". the third field bestie, we love a consistent naming scheme π
π₯ DESCRIPTION π₯
so what does she actually do? two things, and they're both important:
- releases memory for a command queue π«Ά
- unmaps mapped remote memory π
that's it. that's the tea. she's the undo button for alloc_dma_buffer(9) and she ate π
β SEE ALSO β
okay this list is LONG and we are NOT skipping a single one of them, iykyk. also hi π the kernel file is ./drivers/misc/ibmvmc.c:
h_request_vmc(9)ibmvmc_handle_event(9)ibmvmc_release_crq_queue(9)ibmvmc_reset_crq_queue(9)crq_queue_next_crq(9)ibmvmc_send_crq(9)alloc_dma_buffer(9)ibmvmc_get_valid_hmc_buffer(9)ibmvmc_get_free_hmc_buffer(9)ibmvmc_free_hmc_buffer(9)ibmvmc_count_hmc_buffers(9)ibmvmc_get_free_hmc(9)ibmvmc_return_hmc(9)ibmvmc_send_open(9)ibmvmc_send_close(9)ibmvmc_send_capabilities(9)ibmvmc_send_add_buffer_resp(9)ibmvmc_send_rem_buffer_resp(9)ibmvmc_send_msg(9)ibmvmc_open(9)ibmvmc_close(9)ibmvmc_read(9)ibmvmc_poll(9)ibmvmc_write(9)ibmvmc_setup_hmc(9)ibmvmc_ioctl_sethmcid(9)ibmvmc_ioctl_query(9)ibmvmc_ioctl_requestvmc(9)ibmvmc_ioctl(9)ibmvmc_add_buffer(9)ibmvmc_rem_buffer(9)ibmvmc_process_capabilities(9)ibmvmc_validate_hmc_session(9)ibmvmc_reset(9)ibmvmc_reset_task(9)ibmvmc_process_open_resp(9)ibmvmc_process_close_resp(9)ibmvmc_crq_process(9)ibmvmc_handle_crq_init(9)ibmvmc_handle_crq(9)ibmvmc_init_crq_queue(9)
like, go read them. all of them. main character energy only π
ngl bestie, that's the whole page β short, sweet, and fully free'd π
and that's a wrap! π§ this lil page lives in ./drivers/misc, dated October 2026, and it's the free_dma_buffer(9) page β so long, farewell, your buffer has been released πβ¨
π¦ 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