build_dmub_cmd_list(9)
๐ build_dmub_cmd_list(9) โ Kernel API Manual, but make it make sense
okay so bestie, welcome to the <pink>Kernel API Manual</pink> entry for build_dmub_cmd_list. yes the title is also the function name, we love a self-titled icon ๐
โจ NAME โจ
build_dmub_cmd_list โ literally builds an array of DMCUB commands that get sent to DMCUB. that's it, that's the whole vibe ๐ซถ
๐ SYNOPSIS ๐
void build_dmub_cmd_list (struct dc *dc , struct dc_surface_update
*srf_updates , int surface_count , struct dc_stream_state *stream ,
struct dc_state *context , struct dc_dmub_cmd dc_dmub_cmd[] , unsigned
int *dmub_cmd_count );
no cap, that's the whole signature. copy it exactly, don't be cute with it ๐ง
๐ธ ARGUMENTS ๐ธ
dcโ the current DC state. main character energy, obviously ๐srf_updatesโ an array of surface updates. all the glow-ups, queued up โจsurface_countโ how many surfaces have an updated. that's the count, bestie, we don't invent numbers here ๐ขstreamโ the corresponding stream to be updated in the current flip. the one actually getting the makeover ๐contextโ the new DC state to be programmed. the fresh fit, going on the hardware ๐dc_dmub_cmdโ array of DMCUB commands to be sent to DMCUB. this is the group chat, and every command is getting sent ๐จdmub_cmd_countโ the count indicating the number of DMCUB commands in thedc_dmub_cmdarray. like, how many messages are actually in the thread ๐งฎ
๐ DESCRIPTION ๐
so what does it do. it builds an array of DMCUB commands to be sent to DMCUB. fr fr, that's the whole thing ๐ฆ
and here's the part that matters: this function is required to build an array of commands and have them sent while the OTG lock is acquired. like, that's not optional, that's the whole reason it exists. do not skip the lock, do not pass go, do not collect $200 ๐
bestie please respect the OTG lock. the function was literally built around it. it's giving "load-bearing" ๐ญ
โญ RETURN โญ
void
nothing comes back. it does the thing and dips ๐
๐ SEE ALSO ๐
the whole extended friend group, no one left out:
Kernel file ./drivers/gpu/drm/amd/display/dc/core/dc.c Overview(9), dc_stream_get_last_used_drr_vtotal(9), dc_stream_configure_crc(9), dc_stream_get_crc(9), dc_stream_adjust_vmin_vmax(9), dc_commit_state_no_check(9), dc_commit_streams(9), dc_check_state_update(9), dc_check_update_surfaces_for_stream(9), update_seamless_boot_flags(9), update_planes_and_stream_state(9), dc_check_address_only_update(9), could_mpcc_tree_change_for_active_pipes(9), commit_minimal_transition_state_in_dc_update(9), commit_minimal_transition_state(9), dc_update_state(9), dc_update_planes_and_stream(9), dc_enable_dcmode_clk_limit(9), dc_is_dmub_outbox_supported(9), dc_enable_dmub_notifications(9), dc_enable_dmub_outbox(9), dc_process_dmub_aux_transfer_async(9), dc_process_dmub_set_config_async(9), dc_process_dmub_set_mst_slots(9), dc_process_dmub_dpia_set_tps_notification(9), dc_process_dmub_dpia_hpd_int_enable(9), dc_print_dmub_diagnostic_data(9), dc_disable_accelerated_mode(9), dc_notify_vsync_int_state(9), dc_set_edp_power(9), dc_get_power_profile_for_dc_state(9), dc_get_det_buffer_size_from_state(9), dc_get_host_router_index(9), should_commit_intermediate_context(9), dc_update_probes_prepare(9), dc_update_probes_execute(9)
and that's the page!! ๐ it lives at ./drivers/gpu/drm/amd/display/... and it's dated October 2026 โ so yeah, future vibes only, see u then bestie ๐โจ๐ฆ
๐ฆ 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