drm_dp_atom...d_time_slots(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 of mgr until the driver calls drm_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