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