1

thunderbolt: Introduce tb_path_deactivate_hop()

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>
This commit is contained in:
Sanath S 2024-01-13 11:42:23 +02:00 committed by Mika Westerberg
parent 01da6b99d4
commit b35c1d7b11
2 changed files with 14 additions and 0 deletions

View File

@ -446,6 +446,19 @@ static int __tb_path_deactivate_hop(struct tb_port *port, int hop_index,
return -ETIMEDOUT; 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) static void __tb_path_deactivate_hops(struct tb_path *path, int first_hop)
{ {
int i, res; int i, res;

View File

@ -1150,6 +1150,7 @@ struct tb_path *tb_path_alloc(struct tb *tb, struct tb_port *src, int src_hopid,
void tb_path_free(struct tb_path *path); void tb_path_free(struct tb_path *path);
int tb_path_activate(struct tb_path *path); int tb_path_activate(struct tb_path *path);
void tb_path_deactivate(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_is_invalid(struct tb_path *path);
bool tb_path_port_on_path(const struct tb_path *path, bool tb_path_port_on_path(const struct tb_path *path,
const struct tb_port *port); const struct tb_port *port);