aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/thunderbolt
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2020-05-08 12:41:34 +0300
committerMika Westerberg <mika.westerberg@linux.intel.com>2020-06-22 19:58:20 +0300
commit5b7b8c0af15a376175302fc91c2af06f356821b0 (patch)
treecf5664a3aa7d6fbf576b71e2c1f12beb5aa09a30 /drivers/thunderbolt
parentthunderbolt: Implement USB3 bandwidth negotiation routines (diff)
downloadwireguard-linux-5b7b8c0af15a376175302fc91c2af06f356821b0.tar.xz
wireguard-linux-5b7b8c0af15a376175302fc91c2af06f356821b0.zip
thunderbolt: Make tb_port_get_link_speed() available to other files
We need to call this from tb.c when we improve the bandwidth management to take USB3 into account. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/thunderbolt')
-rw-r--r--drivers/thunderbolt/switch.c8
-rw-r--r--drivers/thunderbolt/tb.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
index 29db484d2c74..c01176429d5f 100644
--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -911,7 +911,13 @@ struct tb_port *tb_next_port_on_path(struct tb_port *start, struct tb_port *end,
return next != prev ? next : NULL;
}
-static int tb_port_get_link_speed(struct tb_port *port)
+/**
+ * tb_port_get_link_speed() - Get current link speed
+ * @port: Port to check (USB4 or CIO)
+ *
+ * Returns link speed in Gb/s or negative errno in case of failure.
+ */
+int tb_port_get_link_speed(struct tb_port *port)
{
u32 val, speed;
int ret;
diff --git a/drivers/thunderbolt/tb.h b/drivers/thunderbolt/tb.h
index cb53a94fe4f8..c6f18200fe92 100644
--- a/drivers/thunderbolt/tb.h
+++ b/drivers/thunderbolt/tb.h
@@ -759,6 +759,8 @@ struct tb_port *tb_next_port_on_path(struct tb_port *start, struct tb_port *end,
for ((p) = tb_next_port_on_path((src), (dst), NULL); (p); \
(p) = tb_next_port_on_path((src), (dst), (p)))
+int tb_port_get_link_speed(struct tb_port *port);
+
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);
int tb_port_find_cap(struct tb_port *port, enum tb_port_cap cap);