Lines Matching defs:xd
183 struct tb_xdomain *xd;
187 xd = tb_xdomain_find_by_route(tb, route);
188 if (xd) {
189 tb_xdomain_put(xd);
193 xd = tb_xdomain_alloc(tb, &sw->dev, route, tb->root_switch->uuid,
195 if (xd) {
196 tb_port_at(route, sw)->xdomain = xd;
198 tb_xdomain_add(xd);
1045 static int tb_approve_xdomain_paths(struct tb *tb, struct tb_xdomain *xd)
1052 sw = tb_to_switch(xd->dev.parent);
1053 dst_port = tb_port_at(xd->route, sw);
1057 tunnel = tb_tunnel_alloc_dma(tb, nhi_port, dst_port, xd->transmit_ring,
1058 xd->transmit_path, xd->receive_ring,
1059 xd->receive_path);
1078 static void __tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd)
1084 sw = tb_to_switch(xd->dev.parent);
1085 dst_port = tb_port_at(xd->route, sw);
1096 static int tb_disconnect_xdomain_paths(struct tb *tb, struct tb_xdomain *xd)
1098 if (!xd->is_unplugged) {
1100 __tb_disconnect_xdomain_paths(tb, xd);
1168 struct tb_xdomain *xd = tb_xdomain_get(port->xdomain);
1178 xd->is_unplugged = true;
1179 tb_xdomain_remove(xd);
1181 __tb_disconnect_xdomain_paths(tb, xd);
1182 tb_xdomain_put(xd);