drm_dp_mst_...dependencies(9)
β¨ drm_dp_mst_atomic_wait_for_dependencies β¨
okay bestie, so we're in the Kernel API Manual today and the page is literally called drm_dp_mst_...dependencies(9) and honestly? icon behavior. let's get into it π«Ά
π NAME π
drm_dp_mst_atomic_wait_for_dependencies β it waits for literally all the pending commits on MST topologies, and then gets the new MST state all prepped and ready for commit. she does both. multitasking queen π
πΈ SYNOPSIS πΈ
void drm_dp_mst_atomic_wait_for_dependencies (struct drm_atomic_commit
*state );
π ARGUMENTS π
stateβ the global atomic state. that's it. that's the whole argument. slay π
π¦ DESCRIPTION π¦
so here's the vibe: this function goes through any MST topologies chillin' in this atomic state, and it waits for any pending commits that touched CRTCs which were/are on an MST topology to actually get programmed to hardware and flipped to before it returns. ngl that's a mouthful but stay with me π§
the why is lowkey important though: this is to prevent multiple non-blocking commits that affect an MST topology from racing with each other. how? by forcing them to be executed sequentially in situations where the only resources the modeset objects in these commits share are an MST topology. so yeah, no cap, she's the traffic cop of your MST commits π¦
this function also prepares the new MST state for commit β performing some state preparation that literally cannot be done until this point. the example given is reading back the final VC start slots from the previous state, and those are determined at commit-time, so like... the timing is the whole thing, iykyk β
important bestie: all MST drivers must call this function after calling drm_atomic_helper_wait_for_dependencies, or whatever their equivalent of that is. not optional. periodt π
π SEE ALSO π
the whole friend group, in order, no one left out π
- Kernel file
./drivers/gpu/drm/display/drm_dp_mst_topology.c - dp mst helper(9)
- Branch device and port refcounting(9)
- drm_dp_mst_get_mstb_malloc(9)
- drm_dp_mst_put_mstb_malloc(9)
- drm_dp_mst_get_port_malloc(9)
- drm_dp_mst_put_port_malloc(9)
- drm_dp_mst_topology_try_get_mstb(9)
- drm_dp_mst_topology_get_mstb(9)
- drm_dp_mst_topology_put_mstb(9)
- drm_dp_mst_topology_try_get_port(9)
- drm_dp_mst_topology_get_port(9)
- drm_dp_mst_topology_put_port(9)
- drm_dp_mst_dpcd_read(9)
- drm_dp_mst_dpcd_write(9)
- drm_dp_mst_connector_late_register(9)
- drm_dp_mst_connector_early_unregister(9)
- drm_dp_add_payload_part1(9)
- drm_dp_remove_payload_part1(9)
- drm_dp_remove_payload_part2(9)
- drm_dp_add_payload_part2(9)
- drm_dp_get_vc_payload_bw(9)
- drm_dp_read_mst_cap(9)
- drm_dp_mst_topology_mgr_set_mst(9)
- drm_dp_mst_topology_queue_probe(9)
- drm_dp_mst_topology_mgr_suspend(9)
- drm_dp_mst_topology_mgr_resume(9)
- drm_dp_mst_hpd_irq_handle_event(9)
- drm_dp_mst_hpd_irq_send_new_request(9)
- drm_dp_mst_detect_port(9)
- drm_dp_mst_edid_read(9)
- drm_dp_mst_get_edid(9)
- drm_dp_atomic_find_time_slots(9)
- drm_dp_atomic_release_time_slots(9)
- drm_dp_mst_atomic_setup_commit(9)
- drm_dp_mst_root_conn_atomic_check(9)
- drm_dp_mst_update_slots(9)
- drm_dp_check_act_status(9)
- drm_dp_calc_pbn_mode(9)
- drm_dp_mst_dump_topology(9)
- drm_dp_mst_port_downstream_of_parent(9)
- drm_dp_mst_add_affected_dsc_crtcs(9)
- drm_dp_mst_atomic_enable_dsc(9)
- drm_dp_mst_atomic_check_mgr(9)
- drm_dp_mst_atomic_check(9)
- drm_atomic_get_mst_topology_state(9)
- drm_atomic_get_old_mst_topology_state(9)
- drm_atomic_get_new_mst_topology_state(9)
- drm_dp_mst_topology_mgr_init(9)
- drm_dp_mst_topology_mgr_destroy(9)
- drm_dp_mst_register_i2c_bus(9)
- drm_dp_mst_unregister_i2c_bus(9)
- drm_dp_mst_is_virtual_dpcd(9)
- drm_dp_mst_aux_for_parent(9)
- drm_dp_mst_dsc_aux_for_port(9)
and that's the whole page bestie, we ate and left zero crumbs π
source location was ./drivers/gpu/drm/display, dated October 2026, and the page itself answers to drm_dp_mst_...dependencies(9) β write that down, 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