xe_bo_init_locked(9)
πΈ NAME: xe_bo_init_locked(9) from the Kernel API Manual πΈ
okay so bestie, welcome to the xe_bo_init_locked(9) page β this function is literally here to initialize or create an xe_bo. That's the whole NAME vibe, no cap. π
β¨
β¨ SYNOPSIS β¨
struct xe_bo * xe_bo_init_locked (struct xe_device *xe , struct xe_bo
*bo , struct xe_tile *tile , struct dma_resv *resv , struct
ttm_lru_bulk_move *bulk , size_t size , u16 cpu_caching , enum
ttm_bo_type type , u32 flags , struct dma_buf *dma_buf , struct drm_exec
*exec );
π§ ARGUMENTS π§
bestie, here's the whole cast β every single one, no skips:
xeβ the xe device.boβ an already allocated buffer object, orNULLif the function should allocate a new one.tileβ the tile to select for migration of this bo, and the tile used for GGTT binding if any. Only to be non-NULLforttm_bo_type_kernelbos.resvβ pointer to a locked shared reservation object to use for this bo, orNULLfor thexe_boto use its own.bulkβ the bulk move to use for LRU bumping, orNULLfor external bos.sizeβ the storage size to use for the bo.cpu_cachingβ the cpu caching used for system memory backing store.typeβ the TTM buffer object type.flagsβXE_BO_FLAG_flags.dma_bufβ the dma-buf to reference for the BO lifetime (imported BOs), orNULL.execβ thedrm_exectransaction to use for exhaustive eviction.
π« DESCRIPTION π«
Initialize or create an xe buffer object. On failure, any allocated buffer object passed in bo will have been unreferenced β so yeah, that's the cleanup tea, bestie. π«π
π«Ά RETURN π«Ά
The buffer object on success. Negative error pointer on failure. That's it, that's the return vibe. π
π SEE ALSO π
Kernel file ./drivers/gpu/drm/xe/xe_bo.c is the source spot, and then go peek at: xe_bo_has_single_placement(9), xe_bo_is_stolen_devmem(9), xe_bo_is_vm_bound(9), xe_bo_pin_account(9), xe_bo_unpin_account(9), xe_bo_is_visible_vram(9), xe_bo_move_notify(9), xe_bo_set_purgeable_shrinker(9), xe_bo_set_purgeable_state(9), xe_ttm_bo_purge(9), xe_bo_shrink(9), xe_bo_notifier_prepare_pinned(9), xe_bo_notifier_unprepare_pinned(9), xe_bo_evict_pinned(9), xe_bo_restore_pinned(9), xe_bo_read(9), xe_bo_alloc(9), xe_bo_free(9), xe_bo_create_locked(9), xe_bo_create_user(9), xe_bo_create_pin_range_novm(9), xe_bo_create_pin_map_at_novm(9), xe_bo_create_pin_map(9), xe_bo_create_pin_map_novm(9), xe_managed_bo_reinit_in_vram(9), xe_bo_pin_external(9), xe_bo_pin(9), xe_bo_unpin_external(9), xe_bo_validate(9), xe_bo_decompress(9), xe_bo_lock(9), xe_bo_unlock(9), xe_bo_can_migrate(9), xe_bo_migrate(9), xe_bo_evict(9), xe_bo_needs_ccs_pages(9), __xe_bo_release_dummy(9), xe_bo_put_commit(9), xe_bo_dev_init(9), xe_bo_dev_fini(9), xe_bo_dumb_create(9).
okay bestie, that's the whole page π it lives under source/version line ./drivers/gpu/drm/xe, dated October 2026, and it's the xe_bo_init_locked(9) manual. 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