amdgpu_ib_get(9)
π amdgpu_ib_get(9) π
okay bestie, welcome to the Kernel API Manual β this one's a lil kernel function from the AMDGPU corner of the world, and it's literally about asking for an IB (an Indirect Buffer, iykyk). no cap, it's short and sweet. π¦
β¨ NAME β¨
amdgpu_ib_get β request an IB (Indirect Buffer)
πΈ SYNOPSIS πΈ
int amdgpu_ib_get (struct amdgpu_device *adev , struct amdgpu_vm *vm ,
unsigned int size , enum amdgpu_ib_pool_type pool_type , struct
amdgpu_ib *ib );
π ARGUMENTS π
adevβ anamdgpu_devicepointer. the device, the main character fr πvmβ anamdgpu_vmpointer. virtual memory said hi πsizeβ the requested IB size. you tell it how big, it does the rest β¨pool_typeβ the IB pool type, and the options are delayed, immediate, and direct. pick your vibe π«Άibβ the IB object that gets returned to you. that's your prize π
π₯ DESCRIPTION π₯
So basically you're requesting an IB β and this works on all asics, no exceptions, periodt. IBs get allocated using the suballocator (yes, that's the actual mechanism, not me being cute). π§
It returns 0 on success, and an error on failure. that's the whole vibe check: zero = slay, error = π π
ngl, do check that return value β an error means you don't have your IB, and pretending otherwise is not the move π
β SEE ALSO β
Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c, plus these iconic neighbors:
amdgpu_ib_free(9)amdgpu_ib_schedule(9)amdgpu_ib_pool_init(9)amdgpu_ib_pool_fini(9)amdgpu_ib_pool_gfp_flags(9)amdgpu_ib_ring_tests(9)
and that's the page, bestie π this lil beauty comes from ./drivers/gpu/drm/amd/amdgpu (you know the source/version), dated October 2026 β so go forth, get your IB, and stan the suballocator for me πππ
π¦ 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