get_maintainer: add email addresses from .yaml files
[linux-2.6-microblaze.git] / include / drm / drm_dp_mst_helper.h
index 3cde42b..9e1ffcd 100644 (file)
@@ -157,19 +157,45 @@ struct drm_dp_mst_port {
         */
        bool has_audio;
 
+       /**
+        * @fec_capable: bool indicating if FEC can be supported up to that
+        * point in the MST topology.
+        */
        bool fec_capable;
 };
 
+/* sideband msg header - not bit struct */
+struct drm_dp_sideband_msg_hdr {
+       u8 lct;
+       u8 lcr;
+       u8 rad[8];
+       bool broadcast;
+       bool path_msg;
+       u8 msg_len;
+       bool somt;
+       bool eomt;
+       bool seqno;
+};
+
+struct drm_dp_sideband_msg_rx {
+       u8 chunk[48];
+       u8 msg[256];
+       u8 curchunk_len;
+       u8 curchunk_idx; /* chunk we are parsing now */
+       u8 curchunk_hdrlen;
+       u8 curlen; /* total length of the msg */
+       bool have_somt;
+       bool have_eomt;
+       struct drm_dp_sideband_msg_hdr initial_hdr;
+};
+
 /**
  * struct drm_dp_mst_branch - MST branch device.
  * @rad: Relative Address to talk to this branch device.
  * @lct: Link count total to talk to this branch device.
  * @num_ports: number of ports on the branch.
- * @msg_slots: one bit per transmitted msg slot.
  * @port_parent: pointer to the port parent, NULL if toplevel.
  * @mgr: topology manager for this branch device.
- * @tx_slots: transmission slots for this device.
- * @last_seqno: last sequence number used to talk to this.
  * @link_address_sent: if a link address message has been sent to this device yet.
  * @guid: guid for DP 1.2 branch device. port under this branch can be
  * identified by port #.
@@ -210,7 +236,6 @@ struct drm_dp_mst_branch {
        u8 lct;
        int num_ports;
 
-       int msg_slots;
        /**
         * @ports: the list of ports on this branch device. This should be
         * considered protected for reading by &drm_dp_mst_topology_mgr.lock.
@@ -223,13 +248,9 @@ struct drm_dp_mst_branch {
         */
        struct list_head ports;
 
-       /* list of tx ops queue for this port */
        struct drm_dp_mst_port *port_parent;
        struct drm_dp_mst_topology_mgr *mgr;
 
-       /* slots are protected by mstb->mgr->qlock */
-       struct drm_dp_sideband_msg_tx *tx_slots[2];
-       int last_seqno;
        bool link_address_sent;
 
        /* global unique identifier to identify branch devices */
@@ -237,19 +258,6 @@ struct drm_dp_mst_branch {
 };
 
 
-/* sideband msg header - not bit struct */
-struct drm_dp_sideband_msg_hdr {
-       u8 lct;
-       u8 lcr;
-       u8 rad[8];
-       bool broadcast;
-       bool path_msg;
-       u8 msg_len;
-       bool somt;
-       bool eomt;
-       bool seqno;
-};
-
 struct drm_dp_nak_reply {
        u8 guid[16];
        u8 reason;
@@ -306,18 +314,6 @@ struct drm_dp_remote_i2c_write_ack_reply {
 };
 
 
-struct drm_dp_sideband_msg_rx {
-       u8 chunk[48];
-       u8 msg[256];
-       u8 curchunk_len;
-       u8 curchunk_idx; /* chunk we are parsing now */
-       u8 curchunk_hdrlen;
-       u8 curlen; /* total length of the msg */
-       bool have_somt;
-       bool have_eomt;
-       struct drm_dp_sideband_msg_hdr initial_hdr;
-};
-
 #define DRM_DP_MAX_SDP_STREAMS 16
 struct drm_dp_allocate_payload {
        u8 port_number;
@@ -479,8 +475,6 @@ struct drm_dp_mst_topology_mgr;
 struct drm_dp_mst_topology_cbs {
        /* create a connector for a port */
        struct drm_connector *(*add_connector)(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *path);
-       void (*destroy_connector)(struct drm_dp_mst_topology_mgr *mgr,
-                                 struct drm_connector *connector);
 };
 
 #define DP_MAX_PAYLOAD (sizeof(unsigned long) * 8)
@@ -555,15 +549,17 @@ struct drm_dp_mst_topology_mgr {
         */
        int conn_base_id;
 
-       /**
-        * @down_rep_recv: Message receiver state for down replies.
-        */
-       struct drm_dp_sideband_msg_rx down_rep_recv;
        /**
         * @up_req_recv: Message receiver state for up requests.
         */
        struct drm_dp_sideband_msg_rx up_req_recv;
 
+       /**
+        * @down_rep_recv: Message receiver state for replies to down
+        * requests.
+        */
+       struct drm_dp_sideband_msg_rx down_rep_recv;
+
        /**
         * @lock: protects @mst_state, @mst_primary, @dpcd, and
         * @payload_id_table_cleared.
@@ -589,11 +585,6 @@ struct drm_dp_mst_topology_mgr {
         */
        bool payload_id_table_cleared : 1;
 
-       /**
-        * @is_waiting_for_dwn_reply: whether we're waiting for a down reply.
-        */
-       bool is_waiting_for_dwn_reply : 1;
-
        /**
         * @mst_primary: Pointer to the primary/first branch device.
         */
@@ -618,13 +609,12 @@ struct drm_dp_mst_topology_mgr {
        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
+        * @qlock: protects @tx_msg_downq and &drm_dp_sideband_msg_tx.state
         */
        struct mutex qlock;
 
        /**
-        * @tx_msg_downq: List of pending down replies.
+        * @tx_msg_downq: List of pending down requests
         */
        struct list_head tx_msg_downq;
 
@@ -734,8 +724,6 @@ drm_dp_mst_detect_port(struct drm_connector *connector,
                       struct drm_dp_mst_topology_mgr *mgr,
                       struct drm_dp_mst_port *port);
 
-bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr,
-                                       struct drm_dp_mst_port *port);
 struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port);