Lines Matching refs:route
72 int (*get_route)(struct tb *tb, u8 link, u8 depth, u64 *route);
90 static inline u8 phy_port_from_route(u64 route, u8 depth) in phy_port_from_route() argument
92 return tb_switch_phy_port_from_link(route >> ((depth - 1) * 8)); in phy_port_from_route()
188 static int icm_fr_get_route(struct tb *tb, u8 link, u8 depth, u64 *route) in icm_fr_get_route() argument
232 *route = get_route(sw->route_hi, sw->route_lo); in icm_fr_get_route()
341 u64 route; in icm_fr_device_connected() local
349 ret = icm->get_route(tb, link, depth, &route); in icm_fr_device_connected()
362 phy_port = phy_port_from_route(route, depth); in icm_fr_device_connected()
375 tb_port_at(route, parent_sw)->remote = in icm_fr_device_connected()
377 sw->config.route_hi = upper_32_bits(route); in icm_fr_device_connected()
378 sw->config.route_lo = lower_32_bits(route); in icm_fr_device_connected()
423 sw = tb_switch_alloc(tb, &parent_sw->dev, route); in icm_fr_device_connected()
439 tb_port_at(route, parent_sw)->remote = tb_upstream_port(sw); in icm_fr_device_connected()
440 tb_upstream_port(sw)->remote = tb_port_at(route, parent_sw); in icm_fr_device_connected()
560 static int icm_ar_get_route(struct tb *tb, u8 link, u8 depth, u64 *route) in icm_ar_get_route() argument
578 *route = get_route(reply.route_hi, reply.route_lo); in icm_ar_get_route()