summaryrefslogtreecommitdiffstats
path: root/drivers/thunderbolt/domain.c
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2024-01-09 16:57:10 +0100
committerMika Westerberg <mika.westerberg@linux.intel.com>2024-02-16 11:29:23 +0100
commit52a4490e89d7c4effe613d8dffd2ac0a2a786bd7 (patch)
tree9097ba7fb7548b5eb52cccd6a951414931569483 /drivers/thunderbolt/domain.c
parentthunderbolt: Introduce tb_tunnel_direction_downstream() (diff)
downloadlinux-52a4490e89d7c4effe613d8dffd2ac0a2a786bd7.tar.xz
linux-52a4490e89d7c4effe613d8dffd2ac0a2a786bd7.zip
thunderbolt: Reserve released DisplayPort bandwidth for a group for 10 seconds
The USB4 spec says that the Connection Manager should reserve the bandwidth that is released in the same group for 10 seconds before it can be shared with other groups. Add support for this. We also delay the symmetric transition by that same 10 seconds to avoid any unnecessary transitions (i.e if the released bandwidth is used by another DisplayPort tunnel in the same group the link can stay asymmetric the whole time). Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Diffstat (limited to 'drivers/thunderbolt/domain.c')
-rw-r--r--drivers/thunderbolt/domain.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/thunderbolt/domain.c b/drivers/thunderbolt/domain.c
index ee8a894bd70d..d7abb8c445aa 100644
--- a/drivers/thunderbolt/domain.c
+++ b/drivers/thunderbolt/domain.c
@@ -506,6 +506,10 @@ void tb_domain_remove(struct tb *tb)
mutex_unlock(&tb->lock);
flush_workqueue(tb->wq);
+
+ if (tb->cm_ops->deinit)
+ tb->cm_ops->deinit(tb);
+
device_unregister(&tb->dev);
}