amdgpu_bo_sync_wait_resv(9)
π amdgpu_bo_sync_wait_resv(9) β the Kernel API Manual, but make it make sense β¨
okay so bestie, welcome to the Kernel API Manual π β this is the page for amdgpu_bo_sync_wait_resv(9), and honestly? it's giving "small function, big job." sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
amdgpu_bo_sync_wait_resv β bestie, it waits for BO reservation fences. that's the whole vibe check. π¦
π₯ SYNOPSIS π₯
int amdgpu_bo_sync_wait_resv (struct amdgpu_device *adev , struct
dma_resv *resv , enum amdgpu_sync_mode sync_mode , void *owner , bool
intr );
five arguments, one int coming back at you. no cap, that's it. π
πΈ ARGUMENTS πΈ
here's the cast of characters, main character energy only:
adevβ the amdgpu device pointer. like, the whole device. your fave. πresvβ the reservation object you're syncing to. this is the thing we're waiting on, periodt.sync_modeβ the synchronization mode. it's anenum amdgpu_sync_mode, so pls use a real value, iykyk.ownerβ the fence owner. avoid *, so it can be literally whatever, but it does mean something, bestie.intrβ aboolfor whether the wait is interruptible. yes or no, no in-between. π
π DESCRIPTION π
so what does it do? it extracts the fences from the reservation object and waits for them to finish. that's the whole thing. the way that it justβ¦ pulls the fences out and waits? iconic. π§
like, if the fences aren't done yet, this is the function that just stands there patiently until they are. no drama, just fences, and waiting. slay. π
β RETURN β
0on success π«Άerrnootherwise π
two outcomes, no nuance, we love a clean binary.
π SEE ALSO π
the source file lives at Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_object.c β go read it if you're feeling nosy (you should be, it's a whole moment).
and now, the friend group β literally every amdgpu_bo-adjacent function you could possibly need:
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_free_isp_user(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(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)
the whole squad, fr fr. π
ok that's the page!! special shoutout to the source at./drivers/gpu/drm/amd/amdgpu, dated October 2026, for making this little wait-for-fences moment possible. xoxo, go touch somedma_resvππ¦
π¦ 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