diff options
| author | Dave Airlie <airlied@redhat.com> | 2020-04-22 10:40:34 +1000 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2020-04-22 10:41:35 +1000 | 
| commit | 1aa63ddf726ea049279989b93b69b57ce6efd75b (patch) | |
| tree | b2850db923425621e7830918569572de9a22c86b /include/drm/drm_dp_mst_helper.h | |
| parent | 774f1eeb18b016eee460e060a786eee83b14d007 (diff) | |
| parent | 14d0066b8477775971db7d0ef03c86fefe4d5bf2 (diff) | |
Merge tag 'drm-misc-next-2020-04-14' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.8:
UAPI Changes:
  - drm: error out with EBUSY when device has existing master
  - drm: rework SET_MASTER and DROP_MASTER perm handling
Cross-subsystem Changes:
  - mm: export two symbols from slub/slob
  - fbdev: savage: fix -Wextra build warning
  - video: omap2: Use scnprintf() for avoiding potential buffer overflow
Core Changes:
  - Remove drm_pci.h
  - drm_pci_{alloc/free)() are now legacy
  - Introduce managed DRM resourcesA
  - Allow drivers to subclass struct drm_framebuffer
  - Introduce struct drm_afbc_framebuffer and helpers
  - fbdev: remove return value from generic fbdev setup
  - Introduce simple-encoder helper
  - vram-helpers: set fence on plane
  - dp_mst: ACT timeout improvements
  - dp_mst: Remove drm_dp_mst_has_audio()
  - TTM: ttm_trace_dma_{map/unmap}() cleanups
  - dma-buf: add flag for PCIP2P support
  - EDID: Various improvements
  - Encoder: cleanup semantics of possible_clones and possible_crtcs
  - VBLANK documentation updates
  - Writeback documentation updates
Driver Changes:
  - Convert several drivers to i2c_new_client_device()
  - Drop explicit drm_mode_config_cleanup() calls from drivers
  - Auto-release device structures with drmm_add_final_kfree()
  - Init bfdev console after registering DRM device
  - Make various .debugfs functions return 0 unconditionally; ignore errors
  - video: Use scnprintf() to avoid buffer overflows
  - Convert drivers to simple encoders
  - drm/amdgpu: note that we can handle peer2peer DMA-buf
  - drm/amdgpu: add support for exporting VRAM using DMA-buf v3
  - drm/kirin: Revert change to register connectors
  - drm/lima: Add optional devfreq and cooling device support
  - drm/lima: Various improvements wrt. task handling
  - drm/panel: nt39016: Support multiple modes and 50Hz
  - drm/panel: Support Leadtek LTK050H3146W
  - drm/rockchip: Add support for afbc
  - drm/virtio: Various cleanups
  - drm/hisilicon/hibmc: Enforce 128-byte stride alignment
  - drm/qxl: Fix notify port address of cursor ring buffer
  - drm/sun4i: Improvements to format handling
  - drm/bridge: dw-hdmi: Various improvements
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20200414090738.GA16827@linux-uq9g
Diffstat (limited to 'include/drm/drm_dp_mst_helper.h')
| -rw-r--r-- | include/drm/drm_dp_mst_helper.h | 72 | 
1 files changed, 34 insertions, 38 deletions
diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h index 3cde42b333c3..2d7c26592c05 100644 --- a/include/drm/drm_dp_mst_helper.h +++ b/include/drm/drm_dp_mst_helper.h @@ -157,9 +157,38 @@ 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. @@ -232,24 +261,16 @@ struct drm_dp_mst_branch {  	int last_seqno;  	bool link_address_sent; +	/** +	 * @down_rep_recv: Message receiver state for down replies. +	 */ +	struct drm_dp_sideband_msg_rx down_rep_recv[2]; +  	/* global unique identifier to identify branch devices */  	u8 guid[16];  }; -/* 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 +327,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 +488,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) @@ -556,10 +563,6 @@ 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; @@ -590,11 +593,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.  	 */  	struct drm_dp_mst_branch *mst_primary; @@ -734,8 +732,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);  | 
