STRUCT DRM_DP_MST_BRANCH(9)
struct drm_dp_mst_branch(9) π β¨
okay so bestie, this is the Kernel API Manual entry for struct drm_dp_mst_branch β the MST branch device struct. Itβs giving kernel-internals main character energy, and weβre gonna go through every field, no skips. π«Ά
πΈ NAME πΈ
struct drm_dp_mst_branch β MST branch device. π
β¨ SYNOPSIS β¨
Hereβs the struct in all its glory, literally character-for-character:
struct drm_dp_mst_branch {
struct kref topology_kref;
struct kref malloc_kref;
#if IS_ENABLED(CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS);
struct drm_dp_mst_topology_ref_history topology_ref_history;
#endif;
struct list_head destroy_next;
u8 rad[8];
u8 lct;
int num_ports;
struct list_head ports;
struct drm_dp_mst_port *port_parent;
struct drm_dp_mst_topology_mgr *mgr;
bool link_address_sent;
guid_t guid;
};
π¦ Members π¦
topology_krefβ the refcount for this branch deviceβs lifetime in the topology. Only the DP MST helpers should need to touch this, bestie. πmalloc_krefβ the refcount for the memory allocation containing this structure. Seedrm_dp_mst_get_mstb_mallocanddrm_dp_mst_put_mstb_malloc. πtopology_ref_historyβ a history of each topology reference/dereference. SeeCONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS. β¨destroy_nextβ linked-list entry used bydrm_dp_delayed_destroy_work. πradβ Relative Address of the MST branch. Fordrm_dp_mst_topology_mgr.mst_primary, therad[8]are all0, unset and unused. For MST branches connected aftermst_primary, in each element ofrad[]the nibbles are ordered by the most significant 4 bits first and the least significant 4 bits second. π§lctβ Link count total to talk to this branch device. π¬num_portsβ number of ports on the branch. π’portsβ the list of ports on this branch device. This should be considered protected for reading bydrm_dp_mst_topology_mgr.lock. There are two exceptions to this:drm_dp_mst_topology_mgr.up_req_workanddrm_dp_mst_topology_mgr.work, which do not grabdrm_dp_mst_topology_mgr.lockduring reads but are the only updaters of this list and are protected from updating the list concurrently bydrm_dp_mst_topology_mgr.probe_lock. πport_parentβ pointer to the port parent,NULLif toplevel. π«Άmgrβ topology manager for this branch device. πlink_address_sentβ if a link address message has been sent to this device yet. π¬guidβ guid for DP 1.2 branch device. A port under this branch can be identified by port #. π
π Description π
This structure represents an MST branch device. There is one primary branch device at the root, along with any other branches connected to downstream port of parent branches. π¦
π₯ SEE ALSO π₯
Kernel file: ./include/drm/display/drm_dp_mst_helper.h
struct drm_dp_mst_port(9)struct drm_dp_mst_atomic_payload(9)struct drm_dp_mst_topology_state(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)
source/version: ./include/drm/display Β· date: October 2026 Β· page: struct drm_dp_mst_branch(9) π«Άβ¨π
π¦ 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