r600_copy_cpdma(9)
π r600_copy_cpdma(9) β from the Kernel API Manual, bestie
okay so picture this: it's a kernel API manual page, the title is r600_copy_cpdma(9), and it is literally about copying pages with the CP DMA engine. iconic behavior. let's get into it π«Ά
β¨ NAME β¨
r600_copy_cpdma β copy pages using the CP DMA engine
like. that's the whole vibe. copying. pages. CP DMA engine. slay π
πΈ SYNOPSIS πΈ
struct radeon_fence * r600_copy_cpdma (struct radeon_device *rdev ,
uint64_t src_offset , uint64_t dst_offset , unsigned num_gpu_pages ,
struct dma_resv *resv );
yes bestie it returns a struct radeon_fence *, no cap π
π¦ ARGUMENTS π¦
okay so every single one of these matters, do not skip:
rdevβ aradeon_devicepointer. it's giving "here's your whole GPU device, bestie" energy πsrc_offsetβ the src GPU address. where the stuff is coming from πdst_offsetβ the dst GPU address. where the stuff is going to β¨num_gpu_pagesβ number of GPU pages to xfer. how many pages we're moving, fr fr π§resvβ DMA reservation object to manage fences. it handles the fence logistics so you don't have to π
π₯ DESCRIPTION π₯
Copy GPU paging using the CP DMA engine (r6xx+). that's the whole thing, and honestly? obsessed.
It's used by the radeon ttm implementation to move pages if registered as the asic copy callback. so like, if it's registered as that callback, it's the main character doing the page-moving. periodt π
ngl, this is the part where the function either gets picked for the job or it doesn't β "if registered as the asic copy callback" is doing a LOT of work in that sentence, so don't forget it π
β SEE ALSO β
go look at these, iykyk:
- Kernel file
./drivers/gpu/drm/radeon/r600.c r600_get_allowed_info_register(9)r600_get_xclk(9)r600_vram_gtt_location(9)r600_gfx_is_lockup(9)r600_semaphore_ring_emit(9)r600_mmio_hdp_flush(9)r600_get_gpu_clock_counter(9)
π sign-off π
that's the whole page, bestie β brought to you by ./drivers/gpu/drm/radeon, dated October 2026, and titled r600_copy_cpdma(9) one more time for the people in the back π go copy some pages, you got this π«Άβ¨
π¦ 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