Commit c4ff1443 authored by Mika Westerberg's avatar Mika Westerberg

thunderbolt: Introduce tb_switch_depth()

This is useful helper to find out the depth of a connected router.
Convert the existing users to call this helper instead of open-coding.

No functional changes.
Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 956c3abe
...@@ -255,13 +255,13 @@ static int tb_enable_clx(struct tb_switch *sw) ...@@ -255,13 +255,13 @@ static int tb_enable_clx(struct tb_switch *sw)
* this in the future to cover the whole topology if it turns * this in the future to cover the whole topology if it turns
* out to be beneficial. * out to be beneficial.
*/ */
while (sw && sw->config.depth > 1) while (sw && tb_switch_depth(sw) > 1)
sw = tb_switch_parent(sw); sw = tb_switch_parent(sw);
if (!sw) if (!sw)
return 0; return 0;
if (sw->config.depth != 1) if (tb_switch_depth(sw) != 1)
return 0; return 0;
/* /*
......
...@@ -866,6 +866,15 @@ static inline struct tb_port *tb_switch_downstream_port(struct tb_switch *sw) ...@@ -866,6 +866,15 @@ static inline struct tb_port *tb_switch_downstream_port(struct tb_switch *sw)
return tb_port_at(tb_route(sw), tb_switch_parent(sw)); return tb_port_at(tb_route(sw), tb_switch_parent(sw));
} }
/**
* tb_switch_depth() - Returns depth of the connected router
* @sw: Router
*/
static inline int tb_switch_depth(const struct tb_switch *sw)
{
return sw->config.depth;
}
static inline bool tb_switch_is_light_ridge(const struct tb_switch *sw) static inline bool tb_switch_is_light_ridge(const struct tb_switch *sw)
{ {
return sw->config.vendor_id == PCI_VENDOR_ID_INTEL && return sw->config.vendor_id == PCI_VENDOR_ID_INTEL &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment