amdgpu_bo_create_isp_user(9)
β¨ amdgpu_bo_create_isp_user(9) β from the Kernel API Manual, bestie β¨
okay so bestie, pull up a chair π because this one's a kernel function and it's lowkey iconic. it lives in the Kernel API Manual (that's the manual name, iykyk) and it's all about making a user BO for isp. let's get into it π
πΈ NAME πΈ
amdgpu_bo_create_isp_user β literally "create user BO for isp". that's the whole vibe fr fr π
π¦ SYNOPSIS π¦
int amdgpu_bo_create_isp_user (struct amdgpu_device *adev , struct
dma_buf *dma_buf , u32 domain , struct amdgpu_bo **bo , u64 *gpu_addr );
π ARGUMENTS π
adevβ the amdgpu device object π₯οΈ your main character.dma_bufβ the DMABUF handle for the isp buffer, bestie πdomainβ where to place it. that's it. that's the whole description. periodt.boβ used to initialize BOs in structures π§gpu_addrβ the GPU addr of the pinned BO. slay β
π DESCRIPTION π
so what does it actually do? it imports the isp DMABUF to allocate and pin a user BO for isp internal use πβ¨ it does a GART alloc to generate gpu_addr for the BO, so that the BO is accessible through the GART aperture for the ISP HW. that's the whole flex πͺ
and here's the part that's giving main character energy: this function is exported to allow the V4L2 isp device β which lives external to the drm device β to create and access the isp user BO π«Ά no cap, that's the whole reason it exists.
π₯ RETURN π₯
0 on success, negative error code otherwise. that's it. no drama π
π SEE ALSO π
the kernel file lives right here: ./drivers/gpu/drm/amd/amdgpu/amdgpu_object.c π
and here's the whole friend group, no one left out π
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_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_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)
and that's the page, bestie π§π it came from ./drivers/gpu/drm/amd/amdgpu (that's the source/version bit), dated October 2026 β go off, calendar π
β¨ mwah π
π¦ 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