drm_dp_mst_...atomic_check(9)
π
drm_dp_mst_...atomic_check(9) π
okay so welcome to the Kernel API Manual page for drm_dp_mst_...atomic_check(9) β aka the page about drm_dp_mst_root_conn_atomic_check, and bestie, it is literally giving βserialize those CRTC commitsβ energy.
β¨ NAME β¨
drm_dp_mst_root_conn_atomic_check β Serialize CRTC commits on MST-capable connectors operating in SST mode
π SYNOPSIS π
int drm_dp_mst_root_conn_atomic_check (struct drm_connector_state
*new_conn_state , struct drm_dp_mst_topology_mgr *mgr );
πΈ ARGUMENTS πΈ
new_conn_stateβ The new connector state of thedrm_connector. Thatβs the fresh state bestie πmgrβ The MST topology manager for thedrm_connector. The manager in question, no cap.
π¦ DESCRIPTION π¦
okay so hereβs the situation: MST uses fake drm_encoder structs, which means the generic atomic modesetting code isnβt able to serialize non-blocking commits happening on the real DP connector of an MST topology switching into/away from MST mode β as the CRTC on the real DP connector and the CRTCs on the connectorβs MST topology will never share the same drm_encoder. messy π
This function takes care of this serialization issue, by checking a root MST connectorβs atomic state to determine if it is about to have a modeset β and then pulling in the MST topology state if so, along with adding any relevant CRTCs to drm_dp_mst_topology_state.pending_crtc_mask. slay β¨
Drivers implementing MST must call this function from the drm_connector_helper_funcs.atomic_check hook of any physical DP drm_connector capable of driving MST sinks. periodt.
π RETURN π
0 on success, negative error code otherwise. zero is the main character; negative is the villain arc π
π 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_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_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)
π«Ά cute sign-off: this came from the Kernel API Manual, source./drivers/gpu/drm/display, datedOctober 2026, pagedrm_dp_mst_...atomic_check(9). bye bestie, go serialize those commits π β¨
π¦ 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