drm_dp_mst_dsc_aux_for_port(9)
π drm_dp_mst_dsc_aux_for_port(9)
okay so bestie, welcome to the Kernel API Manual β¨ β yes it's a kernel manpage, yes it's giving big-brain energy, but I promise we're gonna get through it together. This one's about finding the right aux for DSC and honestly? It's a vibe. π
πΈ NAME πΈ
drm_dp_mst_dsc_aux_for_port β find the correct aux for DSC π
β¨ SYNOPSIS β¨
struct drm_dp_aux * drm_dp_mst_dsc_aux_for_port (struct drm_dp_mst_port
*port );
like, you hand it a port, it hands you back a struct drm_dp_aux *. simple as. π
π¦ ARGUMENTS π¦
portβ the port you're checking, bestie. specifically: a leaf of the MST tree with an attached display. leaf node energy, main character of the topology πΏπ
π₯ DESCRIPTION π₯
so depending on the situation β and there are situations β DSC may be enabled via:
- the endpoint aux π«Ά
- the immediately upstream aux β¬οΈ
- or the connector's physical aux π
that's three whole options, it's giving choose-your-own-adventure but make it display stream compression π
the way that this function matters is that it's both the correct aux to read DSC_CAPABILITY and the correct aux to write DSC_ENABLED. one aux, two jobs, iconic. π
β¨
ngl, this operation can be expensive (up to four aux reads ππ), so the caller should cache the return. please don't be out here calling it in a loop, your latency will simply not recover.
β RETURN β
NULLβ if DSC cannot be enabled on this port π (it's not you, it's the port)- otherwise β the aux device π slay
π SEE ALSO π
okay this list is long long, but every single one of these is a real one, so here we go, no skipping, we don't do that here π«‘π
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_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)
and that's the whole page, bestie, you ate that ππ§
sign-off time π: this little masterpiece lives under ./drivers/gpu/drm/display, dated October 2026, and it's page drm_dp_mst_dsc_aux_for_port(9) β go forth and cache your return values, i'm literally begging πβ¨
π¦ 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