gfx_v6_0_setup_tcc(9)
π gfx_v6_0_setup_tcc π
okay so welcome to the Kernel API Manual bestie, this one's a kernel API page and it's lowkey iconic β it's literally called gfx_v6_0_setup_tcc and it's about setting up which TCCs get used π
β¨ NAME β¨
gfx_v6_0_setup_tcc β setup which TCCs are used π¦
πΈ SYNOPSIS πΈ
void gfx_v6_0_setup_tcc (struct amdgpu_device *adev );
π ARGUMENTS π
adevβ anamdgpu_devicepointer, that's the whole vibe, just hand her the device and she'll do the rest π«Ά
π₯ DESCRIPTION π₯
So here's the tea: this function verifies whether the current GPU has any TCCs disabled. That can literally happen when the GPU is harvested and some memory channels get disabled, which reduces the memory bus width. Example? The Radeon HD 7870 XT (Tahiti LE). yep, that one π
If some TCCs are disabled, we gotta make sure those disabled TCCs are not used, and that the remaining TCCs are used optimally. no wasting, no chaos, just efficient main character energy π
TCP_CHAN_STEER_LO/HI control which TCC is used by TCP channels. TCP_ADDR_CONFIG.NUM_TCC_BANKS controls how many channels are used.
For optimal performance:
- Rely on the
CHAN_STEERfrom the golden registers table β only skip disabled TCCs but keep the mapping order β¨ - Limit
NUM_TCC_BANKSto number of active TCCs to avoid thrashing, which performs better than using the same TCC twice π
ngl, that second one matters β thrashing is not the move, and doubling up on one TCC performs worse. fr fr.
π SEE ALSO π
Kernel file ./drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
gfx_v6_0_ring_test_ib(9), gfx_v6_0_cp_gfx_resume(9)
aaaand that's the whole page bestie π this one came from the source tree at ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and the version is literally gfx_v6_0_setup_tcc(9) β slay, go read the kernel file, ily, bye π§π
π¦ 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