1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2019 Intel Corporation 4 */ 5 6 #ifndef __INTEL_DP_MST_H__ 7 #define __INTEL_DP_MST_H__ 8 9 #include <linux/types.h> 10 11 struct intel_atomic_state; 12 struct intel_crtc; 13 struct intel_crtc_state; 14 struct intel_digital_port; 15 struct intel_dp; 16 struct intel_link_bw_limits; 17 18 int intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_id); 19 void intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port); 20 int intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port); 21 bool intel_dp_mst_is_master_trans(const struct intel_crtc_state *crtc_state); 22 bool intel_dp_mst_is_slave_trans(const struct intel_crtc_state *crtc_state); 23 bool intel_dp_mst_source_support(struct intel_dp *intel_dp); 24 int intel_dp_mst_add_topology_state_for_crtc(struct intel_atomic_state *state, 25 struct intel_crtc *crtc); 26 int intel_dp_mst_atomic_check_link(struct intel_atomic_state *state, 27 struct intel_link_bw_limits *limits); 28 bool intel_dp_mst_crtc_needs_modeset(struct intel_atomic_state *state, 29 struct intel_crtc *crtc); 30 31 #endif /* __INTEL_DP_MST_H__ */ 32