Lines Matching refs:xd
418 static int tb_port_configure_xdomain(struct tb_port *port, struct tb_xdomain *xd)
421 return usb4_port_configure_xdomain(port, xd);
437 struct tb_xdomain *xd;
444 xd = tb_xdomain_find_by_route(tb, route);
445 if (xd) {
446 tb_xdomain_put(xd);
450 xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid,
452 if (xd) {
453 tb_port_at(route, sw)->xdomain = xd;
454 tb_port_configure_xdomain(port, xd);
455 tb_xdomain_add(xd);
2311 static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
2321 sw = tb_to_switch(xd->dev.parent);
2322 dst_port = tb_port_at(xd->route, sw);
2360 static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
2369 sw = tb_to_switch(xd->dev.parent);
2370 dst_port = tb_port_at(xd->route, sw);
2392 static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd,
2396 if (!xd->is_unplugged) {
2398 __tb_disconnect_xdomain_paths(tb, xd, transmit_path,
2470 struct tb_xdomain *xd = tb_xdomain_get(port->xdomain);
2480 xd->is_unplugged = true;
2481 tb_xdomain_remove(xd);
2483 __tb_disconnect_xdomain_paths(tb, xd, -1, -1, -1, -1);
2484 tb_xdomain_put(xd);