drm_dp_mst_is_virtual_dpcd(9)
π
drm_dp_mst_is_virtual_dpcd π
okay bestie so this is from the Kernel API Manual, and it's literally one function and it's the vibe check for virtual DP Peer Devices. yes that's the whole job. no cap. π¦
β¨ NAME β¨
drm_dp_mst_is_virtual_dpcd β bestie, is this port a virtual DP Peer Device or not? that's the question π
πΈ SYNOPSIS πΈ
bool drm_dp_mst_is_virtual_dpcd (struct drm_dp_mst_port *port );
π ARGUMENTS π
portβ the port we're checking. that's it. that's the whole argument. we love an uncomplicated icon π
π DESCRIPTION π
okay so picture this: a single physical MST hub object can show up in the topology as multiple branches, right, and between those branches? virtual ports. it's giving "one girl, many personalities" energy π
now, as of DP1.4, an MST hub with internal (virtual) ports must expose certain DPCD registers over those ports. the receipts are in sections 2.6.1.1.1 and 2.6.1.1.2 of the Display Port specification v1.4, so go read those if you want the full lore πβ¨
π«Ά heads up bestie: this one may acquire mgr->lock. so like. know that going in. don't be messy with your locks, fr fr π
π₯ RETURN π₯
trueβ slay, the port is a virtual DP peer device πfalseβ nope, not a virtual DP peer device, better luck next time π
π SEE ALSO π
the whole friend group came out for this one, so let's give them all their moment π
- 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_aux_for_parent(9)drm_dp_mst_dsc_aux_for_port(9)
okay that's the whole page, you ate that bestie πβ¨ before you go: this one lives at ./drivers/gpu/drm/display, it's dated October 2026, and it's filed under drm_dp_mst_is_virtual_dpcd(9) in case you need to find it again. mwah ππ§ββοΈ
π¦ 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