amdgpu_devic...scratch_init(9)
π amdgpu_device_mem_scratch_init(9) β bestie's guide β¨
okay so you've stumbled into the Kernel API Manual, specifically the page for amdgpu_devic...scratch_init(9) β the scratch-init lore, if you will π grab a strawberry drink and let's get into it.
πΈ NAME πΈ
amdgpu_device_mem_scratch_init β literally just allocates the VRAM scratch page π that's the whole gig, no cap.
β¨ SYNOPSIS β¨
int amdgpu_device_mem_scratch_init (struct amdgpu_device *adev );
likeβ¦ that's it. one function, one arg, returns an int. iconic minimalism π
π«Ά ARGUMENTS π«Ά
adevβ anamdgpu_devicepointer, i.e. the amdgpu device in question. that's your girl right there π
π DESCRIPTION π
So what does it do? It allocates a scratch page of VRAM π¦ β and that page gets used by various things in the driver. That's the entire description, and honestly? she said what she said. no extra behaviour to speculate on, i'm not gonna invent details, that's not the vibe π
important: everything here is exactly what the page says. no guessing, no "well probably it alsoβ¦" β we don't do that here β¨
π SEE ALSO π
okay this list is giving main character energy β it's long, it's majestic, we're listing every single one because nobody gets left behind π
- Kernel file
./drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
and then the whole friend group:
pcie_replay_count(9)board_info(9)uma/carveout_options(9)uma/carveout(9)amdgpu_device_supports_px(9)amdgpu_device_supports_boco(9)amdgpu_device_supports_baco(9)amdgpu_device_supports_smart_shift(9)amdgpu_device_mm_access(9)amdgpu_device_aper_access(9)amdgpu_device_vram_access(9)amdgpu_device_get_rev_id(9)amdgpu_device_asic_init(9)amdgpu_device_mem_scratch_fini(9)amdgpu_device_program_register_sequence(9)amdgpu_device_pci_config_reset(9)amdgpu_device_pci_reset(9)amdgpu_device_resize_fb_bar(9)amdgpu_device_need_post(9)amdgpu_device_should_use_aspm(9)amdgpu_device_vga_set_decode(9)amdgpu_device_check_block_size(9)amdgpu_device_check_vm_size(9)amdgpu_device_check_arguments(9)amdgpu_switcheroo_set_state(9)amdgpu_switcheroo_can_switch(9)amdgpu_device_enable_virtual_display(9)amdgpu_device_parse_gpu_info_fw(9)amdgpu_device_ip_early_init(9)amdgpu_device_ip_init(9)amdgpu_device_fill_reset_magic(9)amdgpu_device_check_vram_lost(9)amdgpu_device_set_cg_state(9)amdgpu_device_ip_late_init(9)amdgpu_device_smu_fini_early(9)amdgpu_device_ip_fini(9)amdgpu_device_delayed_init_work_handler(9)amdgpu_device_ip_suspend_phase1(9)amdgpu_device_ip_suspend_phase2(9)amdgpu_device_ip_suspend(9)amdgpu_device_ip_resume_phase1(9)amdgpu_device_ip_resume_phase2(9)amdgpu_device_ip_resume_phase3(9)amdgpu_device_ip_resume(9)amdgpu_device_detect_sriov_bios(9)amdgpu_device_asic_has_dc_support(9)amdgpu_device_has_dc_support(9)amdgpu_device_check_iommu_direct_map(9)amdgpu_device_check_iommu_remap(9)amdgpu_device_init(9)amdgpu_device_fini_hw(9)amdgpu_device_evict_resources(9)amdgpu_device_pm_notifier(9)amdgpu_device_prepare(9)amdgpu_device_complete(9)amdgpu_device_suspend(9)amdgpu_device_resume(9)amdgpu_device_reset_sriov(9)amdgpu_device_has_job_running(9)amdgpu_device_should_recover_gpu(9)amdgpu_device_gpu_recover(9)amdgpu_device_partner_bandwidth(9)amdgpu_device_gpu_bandwidth(9)amdgpu_device_get_pcie_info(9)amdgpu_device_is_peer_accessible(9)amdgpu_pci_error_detected(9)amdgpu_pci_mmio_enabled(9)amdgpu_pci_slot_reset(9)amdgpu_pci_resume(9)amdgpu_device_halt(9)amdgpu_device_get_gang(9)amdgpu_device_switch_gang(9)amdgpu_device_enforce_isolation(9)
likeβ¦ 70-something cross-refs. she's connected, she knows everyone π iykyk
π§ sign-off π§
this little page lives over in ./drivers/gpu/drm/amd/amdgpu π¦ and the version we're looking at is dated October 2026 β so yeah, future-coded. go read the source, drink some water, and slay your kernel debugging, 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