drm_dp_mst_t...ogy_put_mstb(9)
π drm_dp_mst_topology_put_mstb(9) β the "okay bestie, drop the ref" page
Hiii welcome to the Kernel API Manual, the corner of the kernel where DRM DisplayPort MST topology stuff lives β¨ (the running header up top is drm_dp_mst_t...ogy_put_mstb(9) because it got truncated at the function-name printer, iconic of it honestly π)
πΈ NAME
drm_dp_mst_topology_put_mstb β release a topology reference to a branch device π¦
β¨ SYNOPSIS
void drm_dp_mst_topology_put_mstb(struct drm_dp_mst_branch *mstb);
Like, that's it. Void function, one argument, no return value, no drama π
π ARGUMENTS
mstbβ thestruct drm_dp_mst_branchyou want to release the topology reference from. That's the branch device in question, the main character of this whole operation π
π DESCRIPTION
Okay so what this does: it releases a topology reference from mstb, and it does that by decrementing drm_dp_mst_branch.topology_kref. That's the whole vibe check. One reference handed back, the counter goes down, slay π₯
And if you're sitting here like "wait, what about the other ref ops?" β yes bestie, the page literally says see also: drm_dp_mst_topology_try_get_mstb and drm_dp_mst_topology_get_mstb. Those are the getters, this is the putter. Balance. Periodt π
π¦ SEE ALSO
The kernel file it lives in is ./drivers/gpu/drm/display/drm_dp_mst_topology.c β and here is the entire squad of related pages, every single one, no skips, because I would never do you like that π«Ά
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_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)
Ngl bestie, the only thing on this page is the decrement of drm_dp_mst_branch.topology_kref. That's the entire plot. No hidden twist, no unlisted behaviour, no secret extra params. If you were hoping for more lore, the SEE ALSO list above is where the lore is ππ
Okay that's the page!! Mwah π It shipped from ./drivers/gpu/drm/display, dated October 2026, and the whole thing is filed under drm_dp_mst_t...ogy_put_mstb(9) in your Kernel API Manual. Go put that reference back where it belongs, you absolute icon ππβ
π¦ 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