gfx_v6_0_setup_tcc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 β€” an amdgpu_device pointer, 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_STEER from the golden registers table β€” only skip disabled TCCs but keep the mapping order ✨
  • Limit NUM_TCC_BANKS to 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