drm_dp_mst_atomic_check(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 new struct 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 ⭐

  • 0 if 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