cik_copy_dma(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cik_copy_dma β€” a kernel API manual moment

okay so bestie, welcome to cik_copy_dma(9), straight out of the Kernel API Manual ✨ she's a kernel function, she's a lil niche, and honestly? she eats. let's get into it 🫢


🌸 NAME 🌸

cik_copy_dma β€” copy pages using the DMA engine πŸ’« like literally that's her whole job and she does it gorgeously


✨ SYNOPSIS ✨

struct radeon_fence * cik_copy_dma (struct radeon_device *rdev ,
uint64_t src_offset , uint64_t dst_offset , unsigned num_gpu_pages ,
struct dma_resv *resv );

no cap, that's the whole signature β€” copy it exactly if you're typing it out, i'm not about to let you typo your way through this πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • rdev β€” a radeon_device pointer, aka the whole device vibe check πŸ‘‘
  • src_offset β€” the src GPU address, like where the tea is coming from πŸ¦‹
  • dst_offset β€” the dst GPU address, aka where it's all going πŸ“
  • num_gpu_pages β€” number of GPU pages to xfer, so like… count your pages bestie πŸ”’
  • resv β€” reservation object to sync to, the lil sync icon of the whole operation ⭐

πŸ’– DESCRIPTION πŸ’–

so basically she copies GPU paging using the DMA engine (CIK) ✨ the way that she's literally the one doing the heavy lifting…

she's used by the radeon ttm implementation to move pages β€” but only if she's registered as the asic copy callback. iykyk 😌 it's giving "i'm on the callback list or i'm not showing up" energy, periodt.


🌈 SEE ALSO 🌈

kernel file ./drivers/gpu/drm/radeon/cik_sdma.c and her entire friend group, fr fr β€” every single one of them, no skipping:


ngl bestie, that's a lot of SEE ALSOs β€” but that's the whole squad and we don't cut the squad πŸ’œ

and that's the page!! 🧚 mwah πŸ’‹

sign-off time: this lil masterpiece lives at ./drivers/gpu/drm/radeon, it's dated October 2026, and yes she's still cik_copy_dma(9) β€” iconic behavior, we love to see it πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from