amdgpu_bo_free_isp_user(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… amdgpu_bo_free_isp_user β€” the Kernel API Manual bestie moment

okay so we're in the Kernel API Manual, and today's main character is amdgpu_bo_free_isp_user(9). yes that's a long name, no i will not be shortening it, it's iconic as is. πŸŽ€


✨ NAME ✨

amdgpu_bo_free_isp_user β€” free BO for isp use. that's it, that's the whole vibe. πŸ’«


🌸 SYNOPSIS 🌸

void amdgpu_bo_free_isp_user (struct amdgpu_bo *bo );

literally one argument, returns nothing (void), zero drama. slay. 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • bo β€” the amdgpu isp user BO you want to free. that's the one, bestie. this is the BO catching a one-way flight out of here. πŸ’…

πŸ‘‘ DESCRIPTION πŸ‘‘

so what does it actually do? it unpins and unrefs the BO for isp internal use. unpin + unref, in that order, together, one function. it's giving cleanup era. ✨

and the reason this thing exists in the first place: this function is exported so that the V4L2 isp device, which lives external to the drm device, can free the isp user BO too. like, the isp device doesn't live inside drm, but it still gets to call this. friendship bracelet energy fr fr. 🫢πŸ”₯

no cap, it's exported specifically for that outside-the-drm V4L2 isp situation β€” don't forget it has a reason to be public. πŸ’€

πŸ’– SEE ALSO πŸ’–

first up, the actual source, in case you wanna read the receipts:

Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

and now, the whole extended friend group β€” every single one of these, in this exact order, no skipping (i would never):

amdgpu_object(9), amdgpu_bo_is_amdgpu_bo(9), amdgpu_bo_placement_from_domain(9), amdgpu_bo_create_reserved(9), amdgpu_bo_create_kernel(9), amdgpu_bo_create_isp_user(9), amdgpu_bo_create_kernel_at(9), amdgpu_bo_free_kernel(9), amdgpu_bo_create(9), amdgpu_bo_create_user(9), amdgpu_bo_create_vm(9), amdgpu_bo_kmap(9), amdgpu_bo_kptr(9), amdgpu_bo_kunmap(9), amdgpu_bo_ref(9), amdgpu_bo_unref(9), amdgpu_bo_pin(9), amdgpu_bo_unpin(9), amdgpu_bo_init(9), amdgpu_bo_fini(9), amdgpu_bo_set_tiling_flags(9), amdgpu_bo_get_tiling_flags(9), amdgpu_bo_set_metadata(9), amdgpu_bo_get_metadata(9), amdgpu_bo_move_notify(9), amdgpu_bo_release_notify(9), amdgpu_bo_fault_reserve_notify(9), amdgpu_bo_fence(9), amdgpu_bo_sync_wait_resv(9), amdgpu_bo_sync_wait(9), amdgpu_bo_gpu_offset(9), amdgpu_bo_fb_aper_addr(9), amdgpu_bo_gpu_offset_no_check(9), amdgpu_bo_mem_stats_placement(9), amdgpu_bo_get_preferred_domain(9), amdgpu_bo_print_info(9)

iykyk, that's a lot of BO lore. go read them, i'll wait. πŸ“šπŸ’œ


and that's the page!! 🌈 cute little sign-off time: this one lives under ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and the whole thing is filed as amdgpu_bo_free_isp_user(9). mwah, bye bestie πŸ’‹πŸŽ€β­

πŸ“¦ where this page comes from