drm_dp_mst_atomic_check(9)
π drm_dp_mst_atomic_check(9) β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the kernel API manual π this one's a little function with a big job, and it lives right here in the display corner of the kernel. buckle up, we're doing MST atomic validation β¨
πΈ NAME πΈ
drm_dp_mst_atomic_check β literally checks that the new state of an MST topology in an atomic update is valid π
β¨ SYNOPSIS β¨
int drm_dp_mst_atomic_check (struct drm_atomic_commit *state );
that's it. that's the whole vibe. one argument, one int return, no cap π₯
π«Ά ARGUMENTS π«Ά
stateβ a Pointer to the newstruct drm_dp_mst_topology_state. yes bestie, the new one, the fresh state, the main character state π
π¦ DESCRIPTION π¦
so what does it actually do? it checks the given topology state for an atomic update to make sure it's valid π and no, it's not doing that alone β it calls drm_dp_mst_atomic_check_mgr for all MST managers in the atomic state, which is giving very much "i'm not doing group projects by myself" energy π«Ά
and yes, this includes checking whether there's enough bandwidth to support the new timeslot allocations in the atomic update π because running out of bandwidth is not cute and we are not doing that.
lowkey important: any atomic drivers supporting DP MST must make sure to call this after checking the rest of their state in their drm_mode_config_funcs.atomic_check callback. must. not "eh maybe." must. π¨
See also: drm_dp_mst_atomic_check_mgr drm_dp_atomic_find_time_slots drm_dp_atomic_release_time_slots β the trio, the squad, the friend group π
β RETURN β
0if the new state is valid π- negative error code otherwise π
periodt. that's the whole return contract.
π SEE ALSO π
okay this list is long and honestly it ate. every single one, in order, because we don't skip entries in this house π
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_atomic_wait_for_dependencies(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_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 page bestie π huge shoutout to the source at ./drivers/gpu/drm/display, dated October 2026, and to the manual itself, drm_dp_mst_atomic_check(9) β she's iconic, she's specific, she validates MST topologies and she does it flawlessly π iykyk β¨πΈ
π¦ 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