1*4882a593Smuzhiyun /* SPDX-License-Identifier: MIT */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright © 2019 Intel Corporation 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef __INTEL_TC_H__ 7*4882a593Smuzhiyun #define __INTEL_TC_H__ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/mutex.h> 10*4882a593Smuzhiyun #include <linux/types.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun struct intel_digital_port; 13*4882a593Smuzhiyun struct intel_encoder; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun bool intel_tc_port_connected(struct intel_encoder *encoder); 16*4882a593Smuzhiyun u32 intel_tc_port_get_lane_mask(struct intel_digital_port *dig_port); 17*4882a593Smuzhiyun u32 intel_tc_port_get_pin_assignment_mask(struct intel_digital_port *dig_port); 18*4882a593Smuzhiyun int intel_tc_port_fia_max_lane_count(struct intel_digital_port *dig_port); 19*4882a593Smuzhiyun void intel_tc_port_set_fia_lane_count(struct intel_digital_port *dig_port, 20*4882a593Smuzhiyun int required_lanes); 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun void intel_tc_port_sanitize(struct intel_digital_port *dig_port); 23*4882a593Smuzhiyun void intel_tc_port_lock(struct intel_digital_port *dig_port); 24*4882a593Smuzhiyun void intel_tc_port_unlock(struct intel_digital_port *dig_port); 25*4882a593Smuzhiyun void intel_tc_port_get_link(struct intel_digital_port *dig_port, 26*4882a593Smuzhiyun int required_lanes); 27*4882a593Smuzhiyun void intel_tc_port_put_link(struct intel_digital_port *dig_port); 28*4882a593Smuzhiyun bool intel_tc_port_ref_held(struct intel_digital_port *dig_port); 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun void intel_tc_port_init(struct intel_digital_port *dig_port, bool is_legacy); 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun #endif /* __INTEL_TC_H__ */ 33