update_plane...stream_state(9)
π NAME π
okay so bestie, welcome to the update_plane...stream_state(9) page from the Kernel API Manual β¨. the main character here is update_planes_and_stream_state, and she's the function that takes planes and stream updates as inputs and determines the appropriate update type. if the update type is FULL, she allocates a new context, populates it, and validates it. otherwise, she updates the current dc context. she returns both new_context and new_update_type back to the caller, and she also backs up both the current and new contexts into the corresponding dc state scratch memory π«Ά.
TODO bestie, and it's a real one: the function does too many things, and it even conditionally allocates dc context memory implicitly. the note says we should consider to break it down ππ .
β¨ SYNOPSIS β¨
bool update_planes_and_stream_state (struct dc *dc , struct
dc_surface_update *srf_updates , int surface_count , struct
dc_stream_state *stream , struct dc_stream_update *stream_update , enum
dc_update_type *new_update_type , struct dc_state **new_context );
π ARGUMENTS π
dcβ current DC state.srf_updatesβ an array of surface updates.surface_countβ surface update count.streamβ corresponding stream to be updated.stream_updateβ stream update.new_update_typeβ[out]determined update type by the function.new_contextβ[out]new context allocated and validated if update type isFULL, reference to current context if update type is less thanFULL.
πΈ RETURN πΈ
true if a valid update is populated into new_context, false otherwise.
π¦ SEE ALSO π¦
the whole linked-list friend group is here, bestie π:
- Kernel file
./drivers/gpu/drm/amd/display/dc/core/dc.cOverview(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)dc_check_address_only_update(9)build_dmub_cmd_list(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)
okay that's the tea π
β source/version: ./drivers/gpu/drm/amd/display/..., date: October 2026, and this page is update_plane...stream_state(9). catch u later 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