gfx_v7_0_select_se_sh(9)
π gfx_v7_0_select_se_sh β Kernel API Manual β¨
okay bestie, so this is gfx_v7_0_select_se_sh(9), straight out of the Kernel API Manual, and it's literally the little function that picks which SE and SH you're talking to. no cap, that's the whole vibe.
πΈ NAME πΈ
gfx_v7_0_select_se_sh β select which SE, SH to address π―
β¨ SYNOPSIS β¨
void gfx_v7_0_select_se_sh (struct amdgpu_device *adev , u32 se_num ,
u32 sh_num , u32 instance , int xcc_id );
like, that's it. that's the whole signature. she's not returning anything (void, queen of minding her own business) β she's just setting things up so the next register poke lands in the right place π«Ά
π ARGUMENTS π
adevβ amdgpu_device pointer. your main character struct, basically. πse_numβ shader engine to address. which SE we're pointing at, periodt. π₯sh_numβ sh block to address. and this one's which SH inside it. πΈinstanceβ Certain registers are instanced per SE or SH.0xffffffffmeans broadcast to all SEs or SHs (CIK). π so like, if you want everyone to hear it instead of just one little block, that's your magic value β and heads up, that broadcast behavior is specifically a CIK thing. iykyk πxcc_idβ xcc accelerated compute core id. Select which SE, SH combinations to address. π¦ that's the doc's own words, not me being cute (okay, maybe a little cute).
ngl the xcc_id description in the original genuinely does read like "select which SE, SH combinations to address" β so that's the info, verbatim, no notes. take it as written. π
π SEE ALSO π
kernel file ./drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c β go read the source, bestie, she's right there π
and the whole friend group of related functions, all of them, no skips:
gfx_v7_0_init_microcode(9), gfx_v7_0_tiling_mode_table_init(9), gfx_v7_0_get_rb_active_bitmap(9), gfx_v7_0_setup_rb(9), gfx_v7_0_init_compute_vmid(9), gfx_v7_0_constants_init(9), gfx_v7_0_ring_test_ring(9), gfx_v7_0_ring_emit_hdp_flush(9), gfx_v7_0_ring_emit_fence_gfx(9), gfx_v7_0_ring_emit_fence_compute(9), gfx_v7_0_ring_emit_ib_gfx(9), gfx_v7_0_ring_test_ib(9), gfx_v7_0_cp_gfx_enable(9), gfx_v7_0_cp_gfx_load_microcode(9), gfx_v7_0_cp_gfx_start(9), gfx_v7_0_cp_gfx_resume(9), gfx_v7_0_cp_compute_enable(9), gfx_v7_0_cp_compute_load_microcode(9), gfx_v7_0_cp_compute_resume(9), gfx_v7_0_ring_emit_pipeline_sync(9), gfx_v7_0_ring_emit_vm_flush(9), gfx_v7_0_rlc_stop(9), gfx_v7_0_rlc_start(9), gfx_v7_0_rlc_resume(9), gfx_v7_0_get_gpu_clock_counter(9), gfx_v7_0_get_hdp_flush_mask(9) β
and that's the whole page, bestie. no crumbs left behind π
so yeah β this icon lives in ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and the page itself is gfx_v7_0_select_se_sh(9). slay. see u in the kernel source π
β¨π§
π¦ 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