Lines Matching refs:xd
317 static int tb_port_configure_xdomain(struct tb_port *port, struct tb_xdomain *xd) in tb_port_configure_xdomain() argument
320 return usb4_port_configure_xdomain(port, xd); in tb_port_configure_xdomain()
338 struct tb_xdomain *xd; in tb_scan_xdomain() local
345 xd = tb_xdomain_find_by_route(tb, route); in tb_scan_xdomain()
346 if (xd) { in tb_scan_xdomain()
347 tb_xdomain_put(xd); in tb_scan_xdomain()
351 xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid, in tb_scan_xdomain()
353 if (xd) { in tb_scan_xdomain()
354 tb_port_at(route, sw)->xdomain = xd; in tb_scan_xdomain()
355 tb_port_configure_xdomain(port, xd); in tb_scan_xdomain()
356 tb_xdomain_add(xd); in tb_scan_xdomain()
1416 static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_approve_xdomain_paths() argument
1425 sw = tb_to_switch(xd->dev.parent); in tb_approve_xdomain_paths()
1426 dst_port = tb_port_at(xd->route, sw); in tb_approve_xdomain_paths()
1450 static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in __tb_disconnect_xdomain_paths() argument
1459 sw = tb_to_switch(xd->dev.parent); in __tb_disconnect_xdomain_paths()
1460 dst_port = tb_port_at(xd->route, sw); in __tb_disconnect_xdomain_paths()
1475 static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd, in tb_disconnect_xdomain_paths() argument
1479 if (!xd->is_unplugged) { in tb_disconnect_xdomain_paths()
1481 __tb_disconnect_xdomain_paths(tb, xd, transmit_path, in tb_disconnect_xdomain_paths()
1552 struct tb_xdomain *xd = tb_xdomain_get(port->xdomain); in tb_handle_hotplug() local
1562 xd->is_unplugged = true; in tb_handle_hotplug()
1563 tb_xdomain_remove(xd); in tb_handle_hotplug()
1565 __tb_disconnect_xdomain_paths(tb, xd, -1, -1, -1, -1); in tb_handle_hotplug()
1566 tb_xdomain_put(xd); in tb_handle_hotplug()