vmw_bo_unpin(9)
π vmw_bo_unpin(9) β like, the Kernel API Manual page you didn't know you needed π
okay so bestie, welcome to the β¨ vmw_bo_unpin(9) β¨ glow-up. this is a kernel API manual page, and yes it's short, but it's iconic and we're gonna treat it with the respect it deserves. it's giving "small but mighty". π¦
πΈ NAME πΈ
vmw_bo_unpin β unpins the buffer that you handed it. that's it. that's the whole vibe. it does not move the buffer, periodt. no cap, the buffer stays exactly where it is, we're just releasing the pin. π
β¨ SYNOPSIS β¨
int vmw_bo_unpin (struct vmw_private *dev_priv , struct vmw_bo *buf ,
bool interruptible );
it returns an int, bestie. keep that in mind for the RETURN section, okay? π
π«Ά ARGUMENTS π«Ά
dev_privβ the driver private. like, your driver's whole personality and private data, passed in asstruct vmw_private *. literally the main character of the argument list. πbufβ the DMA buffer to unpin. this is the one getting unpinned.struct vmw_bo *. so sorry to it, but its pinning era is over. πinterruptibleβ abool, and it means "use interruptible wait." so if you set it, the wait is interruptible. that's the whole deal. π
π§ DESCRIPTION π§
okay so here's what's happening under the hood, iykyk: this function takes the reservation_sem in write mode. that's it. that's literally the description of the function. it takes the reservation_sem in write mode. no more, no less. slay. β¨π₯
π RETURN π
- Zero on success. π zero is the goal, zero is the dream, zero means we ate. π
- Negative error code on failure. π
- in particular,
-ERESTARTSYSif it got interrupted by a signal. that's the specific one you gotta watch for, bestie. so ifinterruptibleis doing its thing and a signal comes through, boom,-ERESTARTSYS. fr fr. π
β SEE ALSO β
okay so the source lives at the kernel file ./drivers/gpu/drm/vmwgfx/vmwgfx_bo.c β that's where all this magic is written, bestie. π«Ά and here's the whole friend group of related functions, all of them, every single one, no skipping:
vmw_bo_free(9)vmw_bo_pin_in_placement(9)vmw_bo_pin_in_vram_or_gmr(9)vmw_bo_pin_in_vram(9)vmw_bo_pin_in_start_of_vram(9)vmw_bo_get_guest_ptr(9)vmw_bo_pin_reserved(9)vmw_bo_map_and_cache(9)vmw_bo_unmap(9)vmw_bo_init(9)vmw_user_bo_synccpu_grab(9)vmw_user_bo_synccpu_release(9)vmw_user_bo_synccpu_ioctl(9)vmw_bo_unref_ioctl(9)vmw_user_bo_lookup(9)vmw_bo_fence_single(9)vmw_bo_swap_notify(9)vmw_bo_move_notify(9)
that's the whole group chat. go say hi. π¬π
π tiny reminder bestie: vmw_bo_unpin unpins the buffer given β it does not move it. don't go expecting any movement. it's not that kind of function. π
and that's a wrap, bestie! π¦ this page is brought to you by the source ./drivers/gpu/drm/vmwgfx, dated October 2026 β so mark your calendars, mwah ππ, and remember: every option, every arg, every return code stays exactly the same, only the vibe got a glow-up. 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