diff options
Diffstat (limited to 'include/drm/drm_dp_mst_helper.h')
-rw-r--r-- | include/drm/drm_dp_mst_helper.h | 26 |
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 | ||
28 | struct drm_dp_mst_branch; | 29 | struct drm_dp_mst_branch; |
29 | 30 | ||
@@ -403,6 +404,12 @@ struct drm_dp_payload { | |||
403 | int vcpi; | 404 | int vcpi; |
404 | }; | 405 | }; |
405 | 406 | ||
407 | struct 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 | ||
597 | void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr); | 614 | void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr); |
598 | int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr); | 615 | int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr); |
616 | struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state, | ||
617 | struct drm_dp_mst_topology_mgr *mgr); | ||
618 | int 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); | ||
621 | int 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 |