drm_dp_mst_...ed_dsc_crtcs(9)
β¨ drm_dp_mst_add_affected_dsc_crtcs β Kernel API Manual β¨
okay bestie, buckle up, we're diving into drm_dp_mst_add_affected_dsc_crtcs from the Kernel API Manual π
this one's a whole vibe and honestly? kinda iconic.
πΈ NAME πΈ
drm_dp_mst_add_affected_dsc_crtcs β no cap, that's the whole name section, the original literally didn't give us a one-liner here, so we're not gonna invent one π«Ά
π¦ SYNOPSIS π¦
int drm_dp_mst_add_affected_dsc_crtcs (struct drm_atomic_commit *state ,
struct drm_dp_mst_topology_mgr *mgr );
that's the whole signature, bestie β returns an int, takes two args. slay β¨
π ARGUMENTS π
stateβ a pointer to the newstruct drm_dp_mst_topology_stateπ like, the fresh topology state we're working with.mgrβ the MST topology manager. the main character of this whole operation, fr fr.
π DESCRIPTION π
so here's the tea π: whenever there's any change in the MST topology, the DSC configuration has to get recalculated. literally every time. so because of that, we need to trigger a modeset on all the affected CRTCs in that topology β every single one of them, no skipping π.
ngl this is the whole reason the function exists: topology shift β DSC recalc β modeset on all affected CRTCs. periodt.
See also: drm_dp_mst_atomic_enable_dsc π
π SEE ALSO π
okay this list is long and we are NOT cutting it, bestie β every single one of these is staying:
- 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_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_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, that's the whole friend group right there ππ
and that's the page, bestie!! π this little gem lives over in the source dir ./drivers/gpu/drm/display, and it's dated October 2026 β so mark your calendars, iykyk π¦β¨ slay, go read some kernel code, and remember: topology changes mean DSC recalc, and DSC recalc means modesets on all the affected CRTCs. periodt π
π¦ 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