vb2_plane_vaddr(9)
π vb2_plane_vaddr(9) β a lil' page from the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel media stack, you've got a struct vb2_buffer, and you just wanna know where one of its planes actually lives in memory. that's literally this function. it's giving "address reveal" moment and honestly? iconic. β¨
πΈ NAME πΈ
vb2_plane_vaddr β returns a kernel virtual address of a given plane, no cap π«Ά
π¦ SYNOPSIS π¦
void * vb2_plane_vaddr (struct vb2_buffer *vb , unsigned int plane_no );
like, that's the whole signature. short and slay.
π ARGUMENTS π
vbβ pointer to thestruct vb2_bufferthat the plane in question belongs to. yes, the plane has to have a home, and this is its home. πplane_noβ the plane number whose address you want back. just tell it which plane and it'll spill.
β¨ DESCRIPTION β¨
so what does it actually do? this function returns a kernel virtual address of a given plane if such a mapping exists. and if it doesn't exist? you get NULL. that's it. that's the whole vibe check. π
fr fr, keep an eye out for that NULL β it's not being dramatic, it's just telling you the mapping isn't there.
π SEE ALSO π
kernel file ./include/media/videobuf2-core.h, plus the whole friend group:
enum vb2_memory(9), struct vb2_mem_ops(9), struct vb2_plane(9), enum vb2_io_modes(9), enum vb2_buffer_state(9), struct vb2_buffer(9), struct vb2_ops(9), struct vb2_buf_ops(9), struct vb2_queue(9), vb2_queue_allows_cache_hints(9), vb2_plane_cookie(9), vb2_buffer_done(9), vb2_discard_done(9), vb2_wait_for_all_buffers(9), vb2_core_querybuf(9), vb2_core_reqbufs(9), vb2_core_create_bufs(9), vb2_core_prepare_buf(9), vb2_core_remove_bufs(9), vb2_core_qbuf(9), vb2_core_dqbuf(9), vb2_core_streamon(9), vb2_core_streamoff(9), vb2_core_expbuf(9), vb2_core_queue_init(9), vb2_core_queue_release(9), vb2_queue_error(9), vb2_mmap(9), vb2_get_unmapped_area(9), vb2_core_poll(9), vb2_read(9), vb2_write(9), vb2_thread_fnc(9), vb2_thread_start(9), vb2_thread_stop(9), vb2_is_streaming(9), vb2_fileio_is_active(9), vb2_get_num_buffers(9), vb2_is_busy(9), vb2_get_drv_priv(9), vb2_set_plane_payload(9), vb2_get_plane_payload(9), vb2_plane_size(9), vb2_start_streaming_called(9), vb2_clear_last_buffer_dequeued(9), vb2_get_buffer(9), vb2_buffer_in_use(9), vb2_verify_memory_type(9), vb2_request_object_is_buffer(9), vb2_request_buffer_cnt(9)
like, that's a lot of reading material. iykyk. π
and that's the page!! π§ source/version is ./include/media, dated October 2026 β mwah, 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