summaryrefslogtreecommitdiff
path: root/drivers/thunderbolt/tb.c
diff options
context:
space:
mode:
authorSzuying Chen <Chloe_Chen@asmedia.com.tw>2022-09-04 13:40:23 +0300
committerMika Westerberg <mika.westerberg@linux.intel.com>2022-09-07 09:06:50 +0300
commit5172eb9a16437af35f86ab66c8e6b55cc9a9cf78 (patch)
tree874cb40e2bce9907e73f6c09fe15853cbd460499 /drivers/thunderbolt/tb.c
parentd0f1e0c2a6990922818d6616a48d3d92bb7ddac1 (diff)
downloadlinux-5172eb9a16437af35f86ab66c8e6b55cc9a9cf78.tar.xz
thunderbolt: Allow NVM upgrade of USB4 host routers
Intel pre-USB4 host routers required the firmware connection manager to be active in order to perform NVM firmware upgrade and for this reason it was disabled when software connection manager is active. However, this is not necessary for USB4 host routers as this functionality is part of router operations that the router implements if it wants to support this. Signed-off-by: Szuying Chen <Chloe_Chen@asmedia.com.tw> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/thunderbolt/tb.c')
-rw-r--r--drivers/thunderbolt/tb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c
index 583c22df4040..e1c0cfeb854d 100644
--- a/drivers/thunderbolt/tb.c
+++ b/drivers/thunderbolt/tb.c
@@ -1442,8 +1442,11 @@ static int tb_start(struct tb *tb)
* ICM firmware upgrade needs running firmware and in native
* mode that is not available so disable firmware upgrade of the
* root switch.
+ *
+ * However, USB4 routers support NVM firmware upgrade if they
+ * implement the necessary router operations.
*/
- tb->root_switch->no_nvm_upgrade = true;
+ tb->root_switch->no_nvm_upgrade = !tb_switch_is_usb4(tb->root_switch);
/* All USB4 routers support runtime PM */
tb->root_switch->rpm = tb_switch_is_usb4(tb->root_switch);