diff options
Diffstat (limited to 'drivers/thunderbolt/tb.h')
| -rw-r--r-- | drivers/thunderbolt/tb.h | 45 | 
1 files changed, 13 insertions, 32 deletions
| diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h index beea88c34c0f..9790e9f13d2b 100644 --- a/drivers/thunderbolt/tb.h +++ b/drivers/thunderbolt/tb.h @@ -406,8 +406,12 @@ struct tb_cm_ops {  	int (*challenge_switch_key)(struct tb *tb, struct tb_switch *sw,  				    const u8 *challenge, u8 *response);  	int (*disconnect_pcie_paths)(struct tb *tb); -	int (*approve_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd); -	int (*disconnect_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd); +	int (*approve_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd, +				     int transmit_path, int transmit_ring, +				     int receive_path, int receive_ring); +	int (*disconnect_xdomain_paths)(struct tb *tb, struct tb_xdomain *xd, +					int transmit_path, int transmit_ring, +					int receive_path, int receive_ring);  	int (*usb4_switch_op)(struct tb_switch *sw, u16 opcode, u32 *metadata,  			      u8 *status, const void *tx_data, size_t tx_data_len,  			      void *rx_data, size_t rx_data_len); @@ -625,7 +629,7 @@ void tb_domain_exit(void);  int tb_xdomain_init(void);  void tb_xdomain_exit(void); -struct tb *tb_domain_alloc(struct tb_nhi *nhi, size_t privsize); +struct tb *tb_domain_alloc(struct tb_nhi *nhi, int timeout_msec, size_t privsize);  int tb_domain_add(struct tb *tb);  void tb_domain_remove(struct tb *tb);  int tb_domain_suspend_noirq(struct tb *tb); @@ -641,8 +645,12 @@ int tb_domain_approve_switch(struct tb *tb, struct tb_switch *sw);  int tb_domain_approve_switch_key(struct tb *tb, struct tb_switch *sw);  int tb_domain_challenge_switch_key(struct tb *tb, struct tb_switch *sw);  int tb_domain_disconnect_pcie_paths(struct tb *tb); -int tb_domain_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd); -int tb_domain_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd); +int tb_domain_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, +				    int transmit_path, int transmit_ring, +				    int receive_path, int receive_ring); +int tb_domain_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, +				       int transmit_path, int transmit_ring, +				       int receive_path, int receive_ring);  int tb_domain_disconnect_all_paths(struct tb *tb);  static inline struct tb *tb_domain_get(struct tb *tb) @@ -787,32 +795,6 @@ static inline bool tb_switch_is_titan_ridge(const struct tb_switch *sw)  	return false;  } -static inline bool tb_switch_is_ice_lake(const struct tb_switch *sw) -{ -	if (sw->config.vendor_id == PCI_VENDOR_ID_INTEL) { -		switch (sw->config.device_id) { -		case PCI_DEVICE_ID_INTEL_ICL_NHI0: -		case PCI_DEVICE_ID_INTEL_ICL_NHI1: -			return true; -		} -	} -	return false; -} - -static inline bool tb_switch_is_tiger_lake(const struct tb_switch *sw) -{ -	if (sw->config.vendor_id == PCI_VENDOR_ID_INTEL) { -		switch (sw->config.device_id) { -		case PCI_DEVICE_ID_INTEL_TGL_NHI0: -		case PCI_DEVICE_ID_INTEL_TGL_NHI1: -		case PCI_DEVICE_ID_INTEL_TGL_H_NHI0: -		case PCI_DEVICE_ID_INTEL_TGL_H_NHI1: -			return true; -		} -	} -	return false; -} -  /**   * tb_switch_is_usb4() - Is the switch USB4 compliant   * @sw: Switch to check @@ -860,7 +842,6 @@ static inline bool tb_switch_tmu_is_enabled(const struct tb_switch *sw)  int tb_wait_for_port(struct tb_port *port, bool wait_if_unplugged);  int tb_port_add_nfc_credits(struct tb_port *port, int credits); -int tb_port_set_initial_credits(struct tb_port *port, u32 credits);  int tb_port_clear_counter(struct tb_port *port, int counter);  int tb_port_unlock(struct tb_port *port);  int tb_port_enable(struct tb_port *port); | 
