PCIE_GEN_CAP (UINT)(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 pcie_gen_cap (uint)(9)

okay so bestie, real talk: this page is straight out of the Kernel API Manual, section (9), and it's about exactly one thing β€” the kernel param pcie_gen_cap, which is a uint. that's it. that's the whole page. but it's kind of a serve so let's get into it πŸ’…


✨ the actual tea ✨

pcie_gen_cap is your override for the PCIe gen speed capabilities. yes, override. it's the main character of PCIe link speeds, no cap 🫢

to actually know which flags do what, you gotta look at the CAIL flags living in:

drivers/gpu/drm/amd/include/amd_pcie.h

and the default? the default is 0, which means automatic for each asic. so if you never touch it, your asic picks for itself and honestly good for it 🌈

lowkey the whole vibe of this param is "let the asic cook unless you have opinions." the 0 is the "no thoughts, head empty, automatic" setting and it's iconic for a reason ✨

πŸ¦‹ SEE ALSO πŸ¦‹

so many siblings, bestie. the whole crew lives in the Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c and here is every single one of them, exactly as written, not one dropped πŸŽ€

vramlimit (int)(9), vis_vramlimit (int)(9), gartsize (uint)(9),
gttsize (int)(9), moverate (int)(9), audio (int)(9), disp_priority (int)(9),
hw_i2c (int)(9), pcie_gen2 (int)(9), msi (int)(9), svm_default_granularity
(uint)(9), lockup_timeout (string)(9), dpm (int)(9), fw_load_type (int)(9),
aspm (int)(9), runpm (int)(9), ip_block_mask (uint)(9), bapm (int)(9),
deep_color (int)(9), vm_size (int)(9), vm_fragment_size (int)(9),
vm_block_size (int)(9), vm_fault_stop (int)(9), vm_update_mode (int)(9),
exp_hw_support (int)(9), dc (int)(9), sched_jobs (int)(9),
sched_hw_submission (int)(9), ppfeaturemask (hexint)(9),
forcelongtraining (uint)(9), pcie_lane_cap (uint)(9), cg_mask (ullong)(9),
pg_mask (uint)(9), sdma_phase_quantum (uint)(9), disable_cu (charp)(9),
virtual_display (charp)(9), lbpw (int)(9), gpu_recovery (int)(9),
emu_mode (int)(9), ras_enable (int)(9), ras_mask (uint)(9),
timeout_fatal_disable (bool)(9), timeout_period (uint)(9), si_support
(int)(9), cik_support (int)(9), smu_memory_pool_size (uint)(9),
async_gfx_ring (int)(9), mcbp (int)(9), discovery (int)(9), mes_log_enable
(int)(9), uni_mes (int)(9), noretry (int)(9), force_asic_type (int)(9),
use_xgmi_p2p (int)(9), sched_policy (int)(9), hws_max_conc_proc (int)(9),
cwsr_enable (int)(9), max_num_of_queues_per_device (int)(9), send_sigterm
(int)(9), halt_if_hws_hang (int)(9), hws_gws_support(bool)(9),
queue_preemption_timeout_ms (int)(9), debug_evictions(bool)(9),
no_system_mem_limit(bool)(9), no_queue_eviction_on_vm_fault (int)(9),
mtype_local (int)(9), pcie_p2p (bool)(9), dcfeaturemask (uint)(9),
dcdebugmask (uint)(9), abmlevel (uint)(9), damageclips (int)(9), tmz
(int)(9), freesync_video (uint)(9), reset_method (int)(9),
bad_page_threshold (int) Bad page threshold is specifies the(9),
vcnfw_log (int)(9), sg_display (int)(9), umsch_mm (int)(9),
umsch_mm_fwlog (int)(9), smu_pptable_id (int)(9), partition_mode
(int)(9), enforce_isolation (int)(9), modeset (int)(9), seamless
(int)(9), debug_mask (uint)(9), agp (int)(9), wbrf (int)(9), rebar
(int)(9), user_queue (int)(9), ptl (int)(9)
ngl that bad_page_threshold (int) Bad page threshold is specifies the(9) line is out here living its truth and we are not touching it. character for character, bestie. that's the rule πŸ’€

🫢 sign-off

this absolute icon of a page is brought to you by the fine people over at ./drivers/gpu/drm/amd/amdgpu (the directory, the moment, the legend), and it's dated October 2026 🌸 go forth, override responsibly, and remember: 0 is automatic and automatic is slay βœ¨πŸ‘‘

πŸ“¦ where this page comes from