gmc_v7_0_mc_program(9)
π gmc_v7_0_mc_program π
okay so bestie, this is a page from the Kernel API Manual β yes it's a real manual page, yes it's for kernel devs, and yes you're gonna get it. it's called gmc_v7_0_mc_program, and it's the one that tells the GPU's memory controller where stuff lives. iconic behavior honestly.
β¨ NAME β¨
gmc_v7_0_mc_program β program the GPU memory controller π§ β¨
like, literally just vibe-check the memory controller and set it up.
π«Ά SYNOPSIS π«Ά
void gmc_v7_0_mc_program (struct amdgpu_device *adev );
that's the whole signature. returns nothing (void), takes exactly one thing. no cap.
πΈ ARGUMENTS πΈ
adevβ anamdgpu_devicepointer π that's the amdgpu device you're handing over. it's the main character here, she's the one you're programming.
π DESCRIPTION π
so what does it actually do? it sets the location of vram, gart, and AGP in the GPU's physical address space (CIK). π¦
that's it. that's the whole job. she maps out where those three things sit in the GPU's physical address space, and she does it for CIK. lowkey essential, highkey underrated. π
ngl this is the kind of function that looks tiny and then everything breaks if it's wrong. respect her.
π₯ SEE ALSO π₯
- the kernel file:
./drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c gmc_v7_0_init_microcode(9)gmc_v7_0_mc_load_microcode(9)gmc_v7_0_mc_init(9)gmc_v7_0_flush_gpu_tlb_pasid(9)gmc_v7_0_flush_gpu_tlb(9)gmc_v7_0_set_fault_enable_default(9)gmc_v7_0_set_prt(9)gmc_v7_0_gart_enable(9)gmc_v7_0_gart_disable(9)gmc_v7_0_vm_decode_fault(9)
the whole gmc_v7_0 friend group fr fr, go read them all, iykyk π§π
π· ok that's the page!! sign-off time: this one lives under ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and she goes by gmc_v7_0_mc_program(9). slay, go program that memory controller 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