diff options
Diffstat (limited to 'queue-6.6/thunderbolt-introduce-tb_path_deactivate_hop.patch')
-rw-r--r-- | queue-6.6/thunderbolt-introduce-tb_path_deactivate_hop.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/queue-6.6/thunderbolt-introduce-tb_path_deactivate_hop.patch b/queue-6.6/thunderbolt-introduce-tb_path_deactivate_hop.patch new file mode 100644 index 0000000000..a6d04d40dc --- /dev/null +++ b/queue-6.6/thunderbolt-introduce-tb_path_deactivate_hop.patch @@ -0,0 +1,53 @@ +From b35c1d7b11da8c08b14147bbe87c2c92f7a83f8b Mon Sep 17 00:00:00 2001 +From: Sanath S <Sanath.S@amd.com> +Date: Sat, 13 Jan 2024 11:42:23 +0200 +Subject: thunderbolt: Introduce tb_path_deactivate_hop() + +From: Sanath S <Sanath.S@amd.com> + +commit b35c1d7b11da8c08b14147bbe87c2c92f7a83f8b upstream. + +This function can be used to clear path config space of an adapter. Make +it available for other files in this driver. + +Signed-off-by: Sanath S <Sanath.S@amd.com> +Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> +Cc: Mario Limonciello <mario.limonciello@amd.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/thunderbolt/path.c | 13 +++++++++++++ + drivers/thunderbolt/tb.h | 1 + + 2 files changed, 14 insertions(+) + +--- a/drivers/thunderbolt/path.c ++++ b/drivers/thunderbolt/path.c +@@ -446,6 +446,19 @@ static int __tb_path_deactivate_hop(stru + return -ETIMEDOUT; + } + ++/** ++ * tb_path_deactivate_hop() - Deactivate one path in path config space ++ * @port: Lane or protocol adapter ++ * @hop_index: HopID of the path to be cleared ++ * ++ * This deactivates or clears a single path config space entry at ++ * @hop_index. Returns %0 in success and negative errno otherwise. ++ */ ++int tb_path_deactivate_hop(struct tb_port *port, int hop_index) ++{ ++ return __tb_path_deactivate_hop(port, hop_index, true); ++} ++ + static void __tb_path_deactivate_hops(struct tb_path *path, int first_hop) + { + int i, res; +--- a/drivers/thunderbolt/tb.h ++++ b/drivers/thunderbolt/tb.h +@@ -1100,6 +1100,7 @@ struct tb_path *tb_path_alloc(struct tb + void tb_path_free(struct tb_path *path); + int tb_path_activate(struct tb_path *path); + void tb_path_deactivate(struct tb_path *path); ++int tb_path_deactivate_hop(struct tb_port *port, int hop_index); + bool tb_path_is_invalid(struct tb_path *path); + bool tb_path_port_on_path(const struct tb_path *path, + const struct tb_port *port); |