STRUCT DRM_DP_MST_TOPOLOGY_STATE(9)
β¨ struct drm_dp_mst_topology_state β DisplayPort MST topology atomic state β¨
okay so bestie, we're in the Kernel API Manual and this page is literally all about struct drm_dp_mst_topology_state, the DisplayPort MST topology atomic state. buckle up π
πΈ NAME πΈ
struct drm_dp_mst_topology_state β DisplayPort MST topology atomic state, no cap π«Ά
π¦ SYNOPSIS π¦
here's the struct in all its glory, copy it exactly bestie:
struct drm_dp_mst_topology_state {
struct drm_private_state base;
struct drm_dp_mst_topology_mgr *mgr;
u32 pending_crtc_mask;
struct drm_crtc_commit **commit_deps;
size_t num_commit_deps;
u32 payload_mask;
struct list_head payloads;
u8 total_avail_slots;
u8 start_slot;
fixed20_12 pbn_div;
};
π MEMBERS π
every field, one by one, we're not skipping a single one π
baseβ the base private state for atomic. it's giving foundation, it's giving main character energy πmgrβ the topology manager. the boss of this whole situation π₯pending_crtc_maskβ a bitmask of all the CRTCs this topology state touches. drivers are allowed to modify this to add extra dependencies if they need to, so likeβ¦ go off, add your deps π«commit_depsβ a list of all the CRTC commits affecting this topology. lowkey important caveat: this field isn't populated untildrm_dp_mst_atomic_wait_for_dependenciesgets called. so don't come for it before then, it's not ready πnum_commit_depsβ the number of CRTC commits incommit_deps. the headcount, the attendance list πpayload_maskβ a bitmask of allocated VCPIs, used for VCPI assignments β¨payloadsβ the list of payloads being created/destroyed in this state. it's giving construction site and demolition at the same time οΏ½οΏ½total_avail_slotsβ the total number of slots this topology can handle. and it's63or64, exactly those, don't @ me πstart_slotβ the first usable time slot in this topology, and that's1or0πpbn_divβ the current PBN divisor for this topology. key detail bestie: the driver is expected to fill this out itself, so it's not doing it for you π
π§ DESCRIPTION π§
so like, this struct represents the atomic state of the toplevel DisplayPort MST manager. that's the whole vibe. iconic, honestly β¨
π SEE ALSO π
go read these next, they're all linked and they all slay:
- Kernel file
./include/drm/display/drm_dp_mst_helper.h - struct
drm_dp_mst_port(9) - struct
drm_dp_mst_branch(9) - struct
drm_dp_mst_atomic_payload(9) - struct
drm_dp_mst_topology_mgr(9) - enum
drm_dp_mst_mode(9) __drm_dp_mst_state_iter_get(9)for_each_oldnew_mst_mgr_in_state(9)for_each_old_mst_mgr_in_state(9)for_each_new_mst_mgr_in_state(9)
and that's the page, bestie π«Ά this one came from ./include/drm/display, dated October 2026, and the whole thing is filed under struct drm_d...pology_state(9) in the Kernel API Manual. drink some water, go read your headers, 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