drm_dp_mst_..._queue_probe(9)
π drm_dp_mst_..._queue_probe(9) β aka the Kernel API Manual, bestie β¨
okay so you found the drm_dp_mst_..._queue_probe(9) page in the Kernel API Manual and you're like "what is this even" β don't worry, I gotchu π«Ά it's way less scary than the name looks, promise.
πΈ NAME πΈ
drm_dp_mst_topology_queue_probe β literally just queueing up a topology probe π
β¨ SYNOPSIS β¨
void drm_dp_mst_topology_queue_probe (struct drm_dp_mst_topology_mgr
*mgr );
yes that's the whole thing, she's a void, she takes one arg, she does not return anything to you π
π¦ ARGUMENTS π¦
mgrβ the manager you wanna probe. that's it. that's the whole vibe check π
π₯ DESCRIPTION π₯
So basically this queues a work item to probe the MST topology β it's giving "hey go resync yourself" energy β¨
Now here's the part where you gotta pay attention bestie, no cap: drivers should call this only to sync the topology's HW->SW state after the MST link's parameters have changed in a way the state could've become out-of-sync. That's the only reason, okay? π
When is that actually the case? The example given: when the link rate between the source and the first downstream branch device has switched between UHBR and non-UHBR rates. That's the moment, that's the main character moment π¦
And except for those cases β for instance when a sink gets plugged/unplugged to a port β you don't need to do anything, because the SW state will get updated automatically via MST UP message notifications. Automatic. Free. Slay π so don't go calling this when you don't need it, the topology's already handling itself π
π SEE ALSO π
okay this list is long and honestly iconic for it, here's everyone invited to the group chat π
- the 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_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_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 I said. everyone. the whole friend group π but they're all (9) so yk they're legit π§
and that's the page!! mwah π this one came out of ./drivers/gpu/drm/display and it's dated October 2026, so if you're reading this in a timeline where that's already happened β hi, hope the topology is synced π«Ά
π¦ 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