aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm/drm_dp_mst_helper.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/drm/drm_dp_mst_helper.h')
-rw-r--r--include/drm/drm_dp_mst_helper.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index 581163c8d7d7..451d020f0137 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -425,9 +425,15 @@ struct drm_dp_payload {
425 425
426#define to_dp_mst_topology_state(x) container_of(x, struct drm_dp_mst_topology_state, base) 426#define to_dp_mst_topology_state(x) container_of(x, struct drm_dp_mst_topology_state, base)
427 427
428struct drm_dp_vcpi_allocation {
429 struct drm_dp_mst_port *port;
430 int vcpi;
431 struct list_head next;
432};
433
428struct drm_dp_mst_topology_state { 434struct drm_dp_mst_topology_state {
429 struct drm_private_state base; 435 struct drm_private_state base;
430 int avail_slots; 436 struct list_head vcpis;
431 struct drm_dp_mst_topology_mgr *mgr; 437 struct drm_dp_mst_topology_mgr *mgr;
432}; 438};
433 439
@@ -638,14 +644,17 @@ void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr);
638int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr); 644int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr);
639struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state, 645struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state,
640 struct drm_dp_mst_topology_mgr *mgr); 646 struct drm_dp_mst_topology_mgr *mgr);
641int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state, 647int __must_check
642 struct drm_dp_mst_topology_mgr *mgr, 648drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
643 struct drm_dp_mst_port *port, int pbn); 649 struct drm_dp_mst_topology_mgr *mgr,
644int drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state, 650 struct drm_dp_mst_port *port, int pbn);
645 struct drm_dp_mst_topology_mgr *mgr, 651int __must_check
646 int slots); 652drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
653 struct drm_dp_mst_topology_mgr *mgr,
654 struct drm_dp_mst_port *port);
647int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr, 655int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
648 struct drm_dp_mst_port *port, bool power_up); 656 struct drm_dp_mst_port *port, bool power_up);
657int __must_check drm_dp_mst_atomic_check(struct drm_atomic_state *state);
649 658
650void drm_dp_mst_get_port_malloc(struct drm_dp_mst_port *port); 659void drm_dp_mst_get_port_malloc(struct drm_dp_mst_port *port);
651void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port); 660void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port);