drm_dp_atom...d_time_slots(9)
π drm_dp_atomic_find_time_slots β Kernel API Manual β¨
okay so bestie, we're in the Kernel API Manual today and the star of the show is drm_dp_atomic_find_time_slots π yes the name is a whole mouthful, i know, but she's literally the icon who handles time slot allocation for MST ports. buckle up π¦
β¨ NAME β¨
drm_dp_atomic_find_time_slots β Find and add time slots to the state π
πΈ SYNOPSIS πΈ
int drm_dp_atomic_find_time_slots (struct drm_atomic_commit *state ,
struct drm_dp_mst_topology_mgr *mgr , struct drm_dp_mst_port *port , int
pbn );
π ARGUMENTS π
stateβ the global atomic state, main character of the whole commit β¨mgrβ the MST topology manager for the port, she's the one keeping everyone organized π«Άportβ the port we're finding time slots for, the one getting her glow-up πpbnβ the bandwidth required for the mode, in PBN π
π DESCRIPTION π
okay so what she does is allocate time slots to port, replacing any previous time slot allocations it may have had. like a full reset on that port's slot situation, no cap π
and listen β any atomic drivers which support MST must call this function in their drm_encoder_helper_funcs.atomic_check callback unconditionally, to change the current time slot allocation for the new state, and make sure the MST atomic state is added whenever the state of payloads in the topology changes. not optional, bestie. it's giving mandatory π
ngl the allocations set by this function are not checked against the bandwidth restraints ofmgruntil the driver callsdrm_dp_mst_atomic_check. so like, don't assume she's verified anything yet π
Also β and this is the fun part β it's totally OK to call this function multiple times on the same port as needed π but it is not OK to call this function and drm_dp_atomic_release_time_slots in the same atomic check phase. like, pick a lane babe π«
See also: drm_dp_atomic_release_time_slots, drm_dp_mst_atomic_check
π RETURN π
Total slots in the atomic state assigned for this port π₯ β or a negative error code if the port no longer exists π (she's gone, bestie, and she's not coming back)
β SEE ALSO β
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_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_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)
mwah π that's the whole page! this lil beauty lives over in ./drivers/gpu/drm/display, dated October 2026, and yes she's still drm_dp_atom...d_time_slots(9) in the footer because the manpage gods truncate her name and honestly? iconic. π§ββοΈπ
π¦ 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