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.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h
index 5b024764666c..177ab6f86855 100644
--- a/include/drm/drm_dp_mst_helper.h
+++ b/include/drm/drm_dp_mst_helper.h
@@ -24,6 +24,7 @@
24 24
25#include <linux/types.h> 25#include <linux/types.h>
26#include <drm/drm_dp_helper.h> 26#include <drm/drm_dp_helper.h>
27#include <drm/drm_atomic.h>
27 28
28struct drm_dp_mst_branch; 29struct drm_dp_mst_branch;
29 30
@@ -403,6 +404,12 @@ struct drm_dp_payload {
403 int vcpi; 404 int vcpi;
404}; 405};
405 406
407struct drm_dp_mst_topology_state {
408 int avail_slots;
409 struct drm_atomic_state *state;
410 struct drm_dp_mst_topology_mgr *mgr;
411};
412
406/** 413/**
407 * struct drm_dp_mst_topology_mgr - DisplayPort MST manager 414 * struct drm_dp_mst_topology_mgr - DisplayPort MST manager
408 * 415 *
@@ -481,6 +488,16 @@ struct drm_dp_mst_topology_mgr {
481 int pbn_div; 488 int pbn_div;
482 489
483 /** 490 /**
491 * @state: State information for topology manager
492 */
493 struct drm_dp_mst_topology_state *state;
494
495 /**
496 * @funcs: Atomic helper callbacks
497 */
498 const struct drm_private_state_funcs *funcs;
499
500 /**
484 * @qlock: protects @tx_msg_downq, the &drm_dp_mst_branch.txslost and 501 * @qlock: protects @tx_msg_downq, the &drm_dp_mst_branch.txslost and
485 * &drm_dp_sideband_msg_tx.state once they are queued 502 * &drm_dp_sideband_msg_tx.state once they are queued
486 */ 503 */
@@ -596,4 +613,13 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
596 613
597void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr); 614void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr);
598int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr); 615int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr);
616struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state,
617 struct drm_dp_mst_topology_mgr *mgr);
618int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
619 struct drm_dp_mst_topology_mgr *mgr,
620 struct drm_dp_mst_port *port, int pbn);
621int drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
622 struct drm_dp_mst_topology_mgr *mgr,
623 int slots);
624
599#endif 625#endif