Lines Matching refs:tcm

36 static inline struct tb *tcm_to_tb(struct tb_cm *tcm)
38 return ((void *)tcm - sizeof(struct tb));
71 struct tb_cm *tcm = tb_priv(sw->tb);
81 list_add_tail(&port->list, &tcm->dp_resources);
88 struct tb_cm *tcm = tb_priv(sw->tb);
97 list_for_each_entry_safe(port, tmp, &tcm->dp_resources, list) {
108 struct tb_cm *tcm = tb_priv(tb);
147 list_add_tail(&tunnel->list, &tcm->tunnel_list);
260 struct tb_cm *tcm = tb_priv(tb);
263 list_for_each_entry(tunnel, &tcm->tunnel_list, list) {
305 struct tb_cm *tcm = tb_priv(tb);
352 list_for_each_entry(tunnel, &tcm->tunnel_list, list) {
438 struct tb_cm *tcm = tb_priv(tb);
496 list_add_tail(&tunnel->list, &tcm->tunnel_list);
556 struct tb_cm *tcm = tb_priv(port->sw->tb);
620 if (!tcm->hotplug_active)
660 if (tcm->hotplug_active && tb_tunnel_usb3(sw->tb, sw))
716 struct tb_cm *tcm = tb_priv(tb);
720 list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list) {
804 struct tb_cm *tcm = tb_priv(tb);
809 list_for_each_entry(port, &tcm->dp_resources, list) {
841 struct tb_cm *tcm = tb_priv(tb);
853 list_for_each_entry(port, &tcm->dp_resources, list) {
922 list_add_tail(&tunnel->list, &tcm->tunnel_list);
967 struct tb_cm *tcm = tb_priv(tb);
973 list_for_each_entry(p, &tcm->dp_resources, list) {
980 list_add_tail(&port->list, &tcm->dp_resources);
988 struct tb_cm *tcm = tb_priv(tb);
995 list_for_each_entry_safe_reverse(tunnel, n, &tcm->tunnel_list, list) {
1000 while (!list_empty(&tcm->dp_resources)) {
1003 port = list_first_entry(&tcm->dp_resources,
1012 struct tb_cm *tcm = tb_priv(tb);
1041 list_add_tail(&tunnel->list, &tcm->tunnel_list);
1047 struct tb_cm *tcm = tb_priv(tb);
1073 list_add_tail(&tunnel->list, &tcm->tunnel_list);
1117 struct tb_cm *tcm = tb_priv(tb);
1125 if (!tcm->hotplug_active)
1245 struct tb_cm *tcm = tb_priv(tb);
1249 cancel_delayed_work(&tcm->remove_work);
1251 list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list) {
1262 tcm->hotplug_active = false; /* signal tb_handle_hotplug to quit */
1288 struct tb_cm *tcm = tb_priv(tb);
1335 tcm->hotplug_active = true;
1341 struct tb_cm *tcm = tb_priv(tb);
1346 tcm->hotplug_active = false; /* signal tb_handle_hotplug to quit */
1380 struct tb_cm *tcm = tb_priv(tb);
1392 list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list)
1394 if (!list_empty(&tcm->tunnel_list)) {
1403 tcm->hotplug_active = true;
1433 struct tb_cm *tcm = tb_priv(tb);
1435 tcm->hotplug_active = false;
1441 struct tb_cm *tcm = tb_priv(tb);
1443 tcm->hotplug_active = true;
1462 struct tb_cm *tcm = tb_priv(tb);
1466 tcm->hotplug_active = false;
1474 struct tb_cm *tcm = container_of(work, struct tb_cm, remove_work.work);
1475 struct tb *tb = tcm_to_tb(tcm);
1487 struct tb_cm *tcm = tb_priv(tb);
1494 list_for_each_entry_safe(tunnel, n, &tcm->tunnel_list, list)
1496 tcm->hotplug_active = true;
1504 queue_delayed_work(tb->wq, &tcm->remove_work, msecs_to_jiffies(50));
1526 struct tb_cm *tcm;
1529 tb = tb_domain_alloc(nhi, sizeof(*tcm));
1536 tcm = tb_priv(tb);
1537 INIT_LIST_HEAD(&tcm->tunnel_list);
1538 INIT_LIST_HEAD(&tcm->dp_resources);
1539 INIT_DELAYED_WORK(&tcm->remove_work, tb_remove_work);