dce8_bandwidth_update(9)
๐ dce8_bandwidth_update(9) โ Kernel API Manual, but make it make sense
okay so bestie, welcome to the dce8_bandwidth_update page from the Kernel API Manual โจ this is a tiny one but she's important, and I'm gonna walk you through it like we're texting at 2am ๐ซถ
๐ธ NAME ๐ธ
dce8_bandwidth_update โ literally just here to program display watermarks ๐
โจ SYNOPSIS โจ
void dce8_bandwidth_update (struct radeon_device *rdev );
no return value, no drama, she does her thing and dips ๐
๐ ARGUMENTS ๐
rdevโ aradeon_devicepointer. that's it, that's the whole argument, she's low maintenance ๐
๐ฆ DESCRIPTION ๐ฆ
so what she actually does: she calculates and programs the display watermarks and the line buffer allocation. and yes, this is the CIK flavour of the situation ๐ no cap.
calculate ๐งฎ then program ๐พ โ both, in one function call. iconic.
๐ SEE ALSO ๐
okay this part is long, buckle up ๐ข everything below is (9) section, and the kernel file lives at ./drivers/gpu/drm/radeon/cik.c ๐
the CIK basics, part one ๐
cik_get_allowed_info_register(9)cik_get_xclk(9)cik_mm_rdoorbell(9)cik_mm_wdoorbell(9)cik_srbm_select(9)ci_mc_load_microcode(9)cik_init_microcode(9)cik_tiling_mode_table_init(9)cik_select_se_sh(9)cik_create_bitmask(9)cik_get_rb_disabled(9)cik_setup_rb(9)cik_gpu_init(9)cik_scratch_init(9)cik_ring_test(9)
ring emission squad ๐ง
cik_hdp_flush_cp_ring_emit(9)cik_fence_gfx_ring_emit(9)cik_fence_compute_ring_emit(9)cik_semaphore_ring_emit(9)cik_copy_cpdma(9)cik_ring_ib_execute(9)cik_ib_test(9)
CP gfx + compute girlies ๐ฅ
cik_cp_gfx_enable(9)cik_cp_gfx_load_microcode(9)cik_cp_gfx_start(9)cik_cp_gfx_fini(9)cik_cp_gfx_resume(9)cik_cp_compute_enable(9)cik_cp_compute_load_microcode(9)cik_cp_compute_start(9)cik_cp_compute_fini(9)cik_cp_compute_resume(9)
reset / lockup behaviour (aka the messy part ๐ญ)
memory + GART ๐
cik_mc_program(9)cik_mc_init(9)cik_pcie_gart_tlb_flush(9)cik_pcie_gart_enable(9)cik_pcie_gart_disable(9)cik_pcie_gart_fini(9)cik_ib_parse(9)cik_vm_init(9)cik_vm_fini(9)cik_vm_decode_fault(9)
RLC โจ
interrupts, the whole saga ๐
cik_enable_interrupts(9)cik_disable_interrupts(9)cik_disable_interrupt_state(9)cik_irq_init(9)cik_irq_set(9)cik_irq_ack(9)cik_irq_disable(9)cik_irq_suspend(9)cik_irq_fini(9)cik_get_ih_wptr(9)cik_irq_process(9)
lifecycle besties ๐ธ
and now โ the bandwidth/watermark section, aka her actual friend group ๐
dce8_line_buffer_adjust(9)cik_get_number_of_dram_channels(9)dce8_dram_bandwidth(9)dce8_dram_bandwidth_for_display(9)dce8_data_return_bandwidth(9)dce8_dmif_request_bandwidth(9)dce8_available_bandwidth(9)dce8_average_bandwidth(9)dce8_latency_watermark(9)dce8_average_bandwidth_vs_dram_bandwidth_for_display(9)dce8_average_bandwidth_vs_available_bandwidth(9)dce8_check_latency_hiding(9)dce8_program_watermarks(9)
and one (1) little clock counter friend โญ
ngl the SEE ALSO list is giving "group project where everyone shows up" โ but every single entry is a real one, so keep them all ๐
๐ cute sign-off ๐
this page lives under ./drivers/gpu/drm/radeon, and the version vibes are dated October 2026 ๐๏ธโจ that's the whole page bestie, go program some watermarks, ily, mwah ๐ซถ๐๐ฆ
๐ฆ 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