]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/drm/drm_dp_mst_helper.h
robust-futex-ABI.txt: standardize document format
[karo-tx-linux.git] / include / drm / drm_dp_mst_helper.h
index 5b024764666c2b2b82cdc66fb7a1171417fc1def..177ab6f868554c23169c654b7c97545ecf77de14 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <linux/types.h>
 #include <drm/drm_dp_helper.h>
+#include <drm/drm_atomic.h>
 
 struct drm_dp_mst_branch;
 
@@ -403,6 +404,12 @@ struct drm_dp_payload {
        int vcpi;
 };
 
+struct drm_dp_mst_topology_state {
+       int avail_slots;
+       struct drm_atomic_state *state;
+       struct drm_dp_mst_topology_mgr *mgr;
+};
+
 /**
  * struct drm_dp_mst_topology_mgr - DisplayPort MST manager
  *
@@ -480,6 +487,16 @@ struct drm_dp_mst_topology_mgr {
         */
        int pbn_div;
 
+       /**
+        * @state: State information for topology manager
+        */
+       struct drm_dp_mst_topology_state *state;
+
+       /**
+        * @funcs: Atomic helper callbacks
+        */
+       const struct drm_private_state_funcs *funcs;
+
        /**
         * @qlock: protects @tx_msg_downq, the &drm_dp_mst_branch.txslost and
         * &drm_dp_sideband_msg_tx.state once they are queued
@@ -596,4 +613,13 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
 
 void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr);
 int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr);
+struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state,
+                                                                   struct drm_dp_mst_topology_mgr *mgr);
+int drm_dp_atomic_find_vcpi_slots(struct drm_atomic_state *state,
+                                 struct drm_dp_mst_topology_mgr *mgr,
+                                 struct drm_dp_mst_port *port, int pbn);
+int drm_dp_atomic_release_vcpi_slots(struct drm_atomic_state *state,
+                                    struct drm_dp_mst_topology_mgr *mgr,
+                                    int slots);
+
 #endif