drm_atomic_...pology_state(9)
π drm_atomic_get_old_mst_topology_state(9) π
okay so bestie, welcome to the drm_atomic_...pology_state(9) page β yes that's the Kernel API Manual, and yes the title got a little truncated in the group chat, we don't talk about it π«Ά. Anyway, this is the whole vibe of one tiny helper function, and honestly? It's giving "small but essential." Let's get into it β¨
πΈ NAME πΈ
drm_atomic_get_old_mst_topology_state β literally just "get old MST topology state in atomic state, if any." That's the whole mission. No cap π
π SYNOPSIS π
struct drm_dp_mst_topology_state * drm_atomic_get_old_mst_topology_state
(struct drm_atomic_commit *state , struct drm_dp_mst_topology_mgr *mgr
);
look at her. she's a function returning a struct drm_dp_mst_topology_state * and she takes exactly two things. iconic behavior only π
π¦ ARGUMENTS π¦
stateβ the global atomic state. the main character of the whole situation, fr fr.mgrβ the MST topology manager. in this case it's also the private object, so she's doing double duty and honestly? slay π
β DESCRIPTION β
so here's the tea β β this function wraps drm_atomic_get_old_private_obj_state, passing in the MST atomic state vtable. why? so that the private object state you get back is actually that of an MST topology object, not just some random private object state. like, it shows up dressed correctly for the occasion πβ¨
it's a wrapper. it's lowkey humble. it's doing exactly one job and doing it well, and we respect that π«Ά
π₯ RETURN π₯
The old MST topology state π β or, plot twist, NULL if there's no topology state for this MST mgr in the global atomic state. so always check before you go dereferencing, bestie, because the NULL is always lurking π
π SEE ALSO π
okay this list is LONG and it's basically the entire MST cinematic universe, so buckle up π. Also, quick note: the kernel file is ./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_dp_mst_atomic_check(9)drm_atomic_get_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)
like I said. whole cinematic universe. iykyk π
and that's the page, bestie!! π§ this lovely little slice of Kernel API Manual lives in ./drivers/gpu/drm/display and it's dated October 2026 β so yeah, mark your calendar, she's from the future πβ¨ mwah, go read some atomic state, ily ππ
π¦ 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