drm_dp_mst_t...ogy_get_mstb(9)
π drm_dp_mst_topology_get_mstb π
okay so bestie, welcome to the Kernel API Manual β yes, the whole manual, and yes we're gonna get through this together π«Ά this one's about a lil function called drm_dp_mst_topology_get_mstb, and it's honestly giving "quiet overachiever" energy. let's go β¨
πΈ NAME πΈ
drm_dp_mst_topology_get_mstb β bump the topology refcount on a branch device so it doesn't get yanked out from under you π
π SYNOPSIS π
void drm_dp_mst_topology_get_mstb (struct drm_dp_mst_branch *mstb );
literally that's it. one function, one argument, zero drama (mostly) π
π¦ ARGUMENTS π¦
mstbβ thestruct drm_dp_mst_branchwhose topology refcount you're about to increment, bestie. that's your main character right there π
π DESCRIPTION π
so what this does is it increments drm_dp_mst_branch.topology_refcount β without checking whether or not it's already reached 0. no vibe check, no lookup, no "hey are you okay in there". it just goes β¨
β οΈ and this is the important part, don't skip it: this is only valid to use in scenarios where you are already guaranteed to have at least one active topology reference tomstb. like, you know it's alive. otherwise you must usedrm_dp_mst_topology_try_get_mstbinstead. this is not a suggestion, it's the whole rule π
see also: drm_dp_mst_topology_try_get_mstb and drm_dp_mst_topology_put_mstb β the try-hard version and the "ok bye" version respectively π
π SEE ALSO π
the kernel file in question: ./drivers/gpu/drm/display/drm_dp_mst_topology.c β that's where all the magic lives π§
and the whole friend group (iykyk):
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_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_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)
like, that's a lot of siblings but every single one of them is iconic in their own way π
and that's the page!! πβ¨ this lil drop of kernel wisdom lives over in ./drivers/gpu/drm/display, and it's dated October 2026 β so yeah, future vibes only π¦ go forth and increment responsibly, bestie, and remember: only bump that refcount when you already know somebody's holding a reference. periodt π
π
π¦ 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