could_mpcc_...active_pipes(9)
β¨ could_mpcc_...active_pipes(9) β¨
okay so bestie, you've stumbled into the Kernel API Manual and landed on could_mpcc_...active_pipes(9) β honestly a whole mouthful, but she's iconic and she knows it π
π NAME π
could_mpcc_tree_change_for_active_pipes β the vibe check that tells you whether an OPP associated with MPCC might change π
πΈ SYNOPSIS πΈ
bool could_mpcc_tree_change_for_active_pipes (struct dc *dc , struct
dc_stream_state *stream , struct dc_surface_update *srf_updates , int
surface_count , bool *is_plane_addition );
like, that's the whole signature, no cap π«Ά
π¦ ARGUMENTS π¦
dcβ used to get the current state status, she's the one holding the receipts πstreamβ the target stream, which we want to remove the attached planes from. yes, that stream bestie βοΈsrf_updatesβ an array of surface updates, like a little stack of glow-ups πsurface_countβ the number of surface update, one per update, we're counting πis_plane_additionβ marked[in], and you fill it out withtrueif it's a plane addition case π
π DESCRIPTION π
So here's the tea, bestie π΅ β DCN32x and newer support a feature named Dynamic ODM, and she can conflict with the MPO if the two get used simultaneously in some specific configurations (e.g., 4k144). literally the worst pairing, giving enemies-to-lovers energy but in a bad way π
This function checks if the incoming context requires applying a transition state with unnecessary pipe splitting and ODM disabled β all so we can circumvent our hardware limitations and prevent this edge case from ruining the whole moment π
And if the OPP associated with an MPCC might change due to plane additions? this function returns true. periodt π₯
β RETURN β
Return true if OPP and MPCC might change. Otherwise? return false. simple as that, slay π
π SEE ALSO π
okay this list goes off, stay with me π
- the 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)update_planes_and_stream_state(9)dc_check_address_only_update(9)build_dmub_cmd_list(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)
fr fr, go read them, iykyk πβ¨
and that's the whole page bestie π big mwah to whoever shipped her from ./drivers/gpu/drm/amd/display/..., dated October 2026 β shoutout to the could_mpcc_...active_pipes(9) girlies, we love you, bye ππ
π¦ 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