xe_migrate_vram_copy_chunk(9)
π xe_migrate_vram_copy_chunk(9) β like, the whole page
okay so bestie, welcome to the Kernel API Manual β¨ this one's about xe_migrate_vram_copy_chunk(9) and honestly? it's a whole vibe. it copies a chunk of a VRAM buffer object and it does it beautifully. let's get into it π«Ά
β¨ NAME β¨
xe_migrate_vram_copy_chunk β Copy a chunk of a VRAM buffer object. that's it. that's the girl. π
π¦ SYNOPSIS π¦
struct dma_fence * xe_migrate_vram_copy_chunk (struct xe_bo *vram_bo ,
u64 vram_offset , struct xe_bo *sysmem_bo , u64 sysmem_offset , u64 size
, enum xe_migrate_copy_dir dir );
look at her go π six whole parameters, main character energy fr fr
π ARGUMENTS π
vram_boβ The VRAM buffer object. the source-of-truth bo, the one living its best life in VRAM πvram_offsetβ The VRAM offset. where in the VRAM bo we're starting, iykyksysmem_boβ The sysmem buffer object. the system-memory counterpart, the other half of the ship π₯Ίsysmem_offsetβ The sysmem offset. where in sysmem we're landing, no capsizeβ The size of VRAM chunk to copy. literally how much we're moving, be precise bestie βdirβ The direction of the copy operation. which way the data is travelling β vibe check on the flow π
πΈ DESCRIPTION πΈ
so what she does is: copies a portion of a buffer object between VRAM and system memory. that's the whole job and she ate π₯
aaaand one very important detail: on Xe2 platforms that support flat CCS, VRAM data is decompressed when copying to system memory. the way that she just handles decompression for you?? iconic. mentally i'm here π§
π RETURN π
returns a pointer to a dma_fence representing the last copy batch β or an error pointer on failure π
and listen, important: if there is a failure, any copy operation started by the function call has been synced. so you're not left hanging with a half-finished copy, she's got you π
ngl always check for that error pointer, bestie. the fence isn't gonna check itself π
π¦ SEE ALSO π¦
the whole friendship group π«Ά β Kernel file ./drivers/gpu/drm/xe/xe_migrate.c, plus:
struct xe_migrate(9)xe_migrate_alloc(9)xe_migrate_init(9)xe_migrate_copy(9)xe_migrate_resolve(9)xe_migrate_lrc(9)xe_migrate_ccs_rw_copy(9)xe_migrate_ccs_rw_copy_clear(9)xe_migrate_exec_queue(9)xe_migrate_clear(9)xe_migrate_update_pgtables(9)xe_migrate_wait(9)xe_migrate_to_vram(9)xe_migrate_from_vram(9)xe_migrate_access_memory(9)xe_migrate_job_lock(9)xe_migrate_job_unlock(9)xe_migrate_job_lock_assert(9)
and that's the page! π source: ./drivers/gpu/drm/xe, dated October 2026 β mwah, sending you kisses, go copy some chunks bestie πβ¨
π¦ 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