drm_dp_mst_t...try_get_port(9)
π drm_dp_mst_topology_try_get_port(9) β¨
okay bestie, welcome to the Kernel API Manual π this one's a little refcount baddie and she's honestly serving main character energy β let's get into it π
πΈ NAME πΈ
drm_dp_mst_topology_try_get_port β bumps up the topology refcount of a port, but only if it's not already zero β¨ like, she'll only hold your hand if you're still on the guest list, no cap π
π¦ SYNOPSIS π¦
int drm_dp_mst_topology_try_get_port (struct drm_dp_mst_port *port );
π ARGUMENTS π
portβ thestruct drm_dp_mst_portwhose topology refcount we're trying to increment π«Ά that's the whole assignment, icon behavior
π DESCRIPTION π
so here's the vibe π« this function attempts to grab a topology reference to port, and it'll only succeed if that port hasn't already been removed from the topology β like, if drm_dp_mst_port.topology_kref has already hit <hotpink>0</hotpink>, she's gone, the party's over, no reference for you π
and listen, this part matters: holding a topology reference implies that a malloc reference will be held to port for as long as the user holds that topology reference π₯ iykyk, they're linked like that.
β οΈ caveat time, bestie β care should be taken to ensure that the user has at least one malloc reference to port. do not skip this. fr fr.
and if you already have a topology reference to port? then you should use drm_dp_mst_topology_get_port instead π different tool, different job, don't mix them up.
See also: drm_dp_mst_topology_get_port drm_dp_mst_topology_put_port π
β RETURN β
1β a topology reference was grabbed successfully, slay π0βportis no longer in the topology, so no reference was grabbed π she's literally not in the group chat anymore
π SEE ALSO π
okay this list is long long, but every single one of them is part of the lore π§ so here we go, no skipping:
Kernel file ./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_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) π
aaaand that's the whole page, bestie π«Ά this one lives out of ./drivers/gpu/drm/display, dated October 2026, and it's filed under Kernel API Manual β mwah, go grab those references responsibly πβ¨
π¦ 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