Lines Matching refs:xd
452 static int tb_port_configure_xdomain(struct tb_port *port, struct tb_xdomain *xd) in tb_port_configure_xdomain() argument
455 return usb4_port_configure_xdomain(port, xd); in tb_port_configure_xdomain()
473 struct tb_xdomain *xd; in tb_scan_xdomain() local
480 xd = tb_xdomain_find_by_route(tb, route); in tb_scan_xdomain()
481 if (xd) { in tb_scan_xdomain()
482 tb_xdomain_put(xd); in tb_scan_xdomain()
486 xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid, in tb_scan_xdomain()
488 if (xd) { in tb_scan_xdomain()
489 tb_port_at(route, sw)->xdomain = xd; in tb_scan_xdomain()
490 tb_port_configure_xdomain(port, xd); in tb_scan_xdomain()
491 tb_xdomain_add(xd); in tb_scan_xdomain()
1555 static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_approve_xdomain_paths() argument
1565 sw = tb_to_switch(xd->dev.parent); in tb_approve_xdomain_paths()
1566 dst_port = tb_port_at(xd->route, sw); in tb_approve_xdomain_paths()
1604 static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in __tb_disconnect_xdomain_paths() argument
1613 sw = tb_to_switch(xd->dev.parent); in __tb_disconnect_xdomain_paths()
1614 dst_port = tb_port_at(xd->route, sw); in __tb_disconnect_xdomain_paths()
1636 static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_disconnect_xdomain_paths() argument
1640 if (!xd->is_unplugged) { in tb_disconnect_xdomain_paths()
1642 __tb_disconnect_xdomain_paths(tb, xd, transmit_path, in tb_disconnect_xdomain_paths()
1713 struct tb_xdomain *xd = tb_xdomain_get(port->xdomain); in tb_handle_hotplug() local
1723 xd->is_unplugged = true; in tb_handle_hotplug()
1724 tb_xdomain_remove(xd); in tb_handle_hotplug()
1726 __tb_disconnect_xdomain_paths(tb, xd, -1, -1, -1, -1); in tb_handle_hotplug()
1727 tb_xdomain_put(xd); in tb_handle_hotplug()