summaryrefslogtreecommitdiffstats
path: root/drivers/thunderbolt/tb.h
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2021-03-22 15:54:54 +0100
committerMika Westerberg <mika.westerberg@linux.intel.com>2021-06-01 09:48:59 +0200
commite7051beab8393dc614f7ea3969aa03bc490db1d6 (patch)
tree0bdfb38a1b95f4af72306eb075789978b2bb353b /drivers/thunderbolt/tb.h
parentthunderbolt: Move nfc_credits field to struct tb_path_hop (diff)
downloadlinux-e7051beab8393dc614f7ea3969aa03bc490db1d6.tar.xz
linux-e7051beab8393dc614f7ea3969aa03bc490db1d6.zip
thunderbolt: Wait for the lanes to actually bond
It may take some time until the two lanes enter bonded state so poll for the link width to match what is expected before going forward. This ensures the link is in expected state before we start establishing paths through it. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/thunderbolt/tb.h')
-rw-r--r--drivers/thunderbolt/tb.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index b4bc25b82fdb..e6c5e8fc7de7 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -883,6 +883,8 @@ int tb_port_get_link_width(struct tb_port *port);
int tb_port_state(struct tb_port *port);
int tb_port_lane_bonding_enable(struct tb_port *port);
void tb_port_lane_bonding_disable(struct tb_port *port);
+int tb_port_wait_for_link_width(struct tb_port *port, int width,
+ int timeout_msec);
int tb_switch_find_vse_cap(struct tb_switch *sw, enum tb_switch_vse_cap vsec);
int tb_switch_find_cap(struct tb_switch *sw, enum tb_switch_cap cap);