Lines Matching refs:xd
223 struct tb_xdomain *xd; in tb_scan_xdomain() local
230 xd = tb_xdomain_find_by_route(tb, route); in tb_scan_xdomain()
231 if (xd) { in tb_scan_xdomain()
232 tb_xdomain_put(xd); in tb_scan_xdomain()
236 xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid, in tb_scan_xdomain()
238 if (xd) { in tb_scan_xdomain()
239 tb_port_at(route, sw)->xdomain = xd; in tb_scan_xdomain()
241 tb_xdomain_add(xd); in tb_scan_xdomain()
1135 static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_approve_xdomain_paths() argument
1144 sw = tb_to_switch(xd->dev.parent); in tb_approve_xdomain_paths()
1145 dst_port = tb_port_at(xd->route, sw); in tb_approve_xdomain_paths()
1169 static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in __tb_disconnect_xdomain_paths() argument
1178 sw = tb_to_switch(xd->dev.parent); in __tb_disconnect_xdomain_paths()
1179 dst_port = tb_port_at(xd->route, sw); in __tb_disconnect_xdomain_paths()
1194 static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_disconnect_xdomain_paths() argument
1198 if (!xd->is_unplugged) { in tb_disconnect_xdomain_paths()
1200 __tb_disconnect_xdomain_paths(tb, xd, transmit_path, in tb_disconnect_xdomain_paths()
1270 struct tb_xdomain *xd = tb_xdomain_get(port->xdomain); in tb_handle_hotplug() local
1280 xd->is_unplugged = true; in tb_handle_hotplug()
1281 tb_xdomain_remove(xd); in tb_handle_hotplug()
1283 __tb_disconnect_xdomain_paths(tb, xd, -1, -1, -1, -1); in tb_handle_hotplug()
1284 tb_xdomain_put(xd); in tb_handle_hotplug()