Lines Matching full:info
33 struct dsa_notifier_ageing_time_info *info) in dsa_switch_ageing_time() argument
35 unsigned int ageing_time = info->ageing_time; in dsa_switch_ageing_time()
53 struct dsa_notifier_mtu_info *info) in dsa_switch_mtu_match() argument
55 if (ds->index == info->sw_index && port == info->port) in dsa_switch_mtu_match()
61 if (info->targeted_match) in dsa_switch_mtu_match()
71 struct dsa_notifier_mtu_info *info) in dsa_switch_mtu() argument
79 if (dsa_switch_mtu_match(ds, port, info)) { in dsa_switch_mtu()
80 ret = ds->ops->port_change_mtu(ds, port, info->mtu); in dsa_switch_mtu()
90 struct dsa_notifier_bridge_info *info) in dsa_switch_bridge_join() argument
95 if (dst->index == info->tree_index && ds->index == info->sw_index) { in dsa_switch_bridge_join()
99 err = ds->ops->port_bridge_join(ds, info->port, info->br); in dsa_switch_bridge_join()
104 if ((dst->index != info->tree_index || ds->index != info->sw_index) && in dsa_switch_bridge_join()
106 err = ds->ops->crosschip_bridge_join(ds, info->tree_index, in dsa_switch_bridge_join()
107 info->sw_index, in dsa_switch_bridge_join()
108 info->port, info->br); in dsa_switch_bridge_join()
113 return dsa_tag_8021q_bridge_join(ds, info); in dsa_switch_bridge_join()
117 struct dsa_notifier_bridge_info *info) in dsa_switch_bridge_leave() argument
125 if (dst->index == info->tree_index && ds->index == info->sw_index && in dsa_switch_bridge_leave()
127 ds->ops->port_bridge_leave(ds, info->port, info->br); in dsa_switch_bridge_leave()
129 if ((dst->index != info->tree_index || ds->index != info->sw_index) && in dsa_switch_bridge_leave()
131 ds->ops->crosschip_bridge_leave(ds, info->tree_index, in dsa_switch_bridge_leave()
132 info->sw_index, info->port, in dsa_switch_bridge_leave()
133 info->br); in dsa_switch_bridge_leave()
135 if (ds->needs_standalone_vlan_filtering && !br_vlan_enabled(info->br)) { in dsa_switch_bridge_leave()
139 br_vlan_enabled(info->br)) { in dsa_switch_bridge_leave()
166 err = dsa_port_vlan_filtering(dsa_to_port(ds, info->port), in dsa_switch_bridge_leave()
169 dev_err(ds->dev, "port %d: %s\n", info->port, in dsa_switch_bridge_leave()
175 return dsa_tag_8021q_bridge_leave(ds, info); in dsa_switch_bridge_leave()
343 struct dsa_notifier_fdb_info *info) in dsa_switch_host_fdb_add() argument
352 if (dsa_switch_host_address_match(ds, port, info->sw_index, in dsa_switch_host_fdb_add()
353 info->port)) { in dsa_switch_host_fdb_add()
354 err = dsa_switch_do_fdb_add(ds, port, info->addr, in dsa_switch_host_fdb_add()
355 info->vid); in dsa_switch_host_fdb_add()
365 struct dsa_notifier_fdb_info *info) in dsa_switch_host_fdb_del() argument
374 if (dsa_switch_host_address_match(ds, port, info->sw_index, in dsa_switch_host_fdb_del()
375 info->port)) { in dsa_switch_host_fdb_del()
376 err = dsa_switch_do_fdb_del(ds, port, info->addr, in dsa_switch_host_fdb_del()
377 info->vid); in dsa_switch_host_fdb_del()
387 struct dsa_notifier_fdb_info *info) in dsa_switch_fdb_add() argument
389 int port = dsa_towards_port(ds, info->sw_index, info->port); in dsa_switch_fdb_add()
394 return dsa_switch_do_fdb_add(ds, port, info->addr, info->vid); in dsa_switch_fdb_add()
398 struct dsa_notifier_fdb_info *info) in dsa_switch_fdb_del() argument
400 int port = dsa_towards_port(ds, info->sw_index, info->port); in dsa_switch_fdb_del()
405 return dsa_switch_do_fdb_del(ds, port, info->addr, info->vid); in dsa_switch_fdb_del()
409 struct dsa_notifier_hsr_info *info) in dsa_switch_hsr_join() argument
411 if (ds->index == info->sw_index && ds->ops->port_hsr_join) in dsa_switch_hsr_join()
412 return ds->ops->port_hsr_join(ds, info->port, info->hsr); in dsa_switch_hsr_join()
418 struct dsa_notifier_hsr_info *info) in dsa_switch_hsr_leave() argument
420 if (ds->index == info->sw_index && ds->ops->port_hsr_leave) in dsa_switch_hsr_leave()
421 return ds->ops->port_hsr_leave(ds, info->port, info->hsr); in dsa_switch_hsr_leave()
427 struct dsa_notifier_lag_info *info) in dsa_switch_lag_change() argument
429 if (ds->index == info->sw_index && ds->ops->port_lag_change) in dsa_switch_lag_change()
430 return ds->ops->port_lag_change(ds, info->port); in dsa_switch_lag_change()
432 if (ds->index != info->sw_index && ds->ops->crosschip_lag_change) in dsa_switch_lag_change()
433 return ds->ops->crosschip_lag_change(ds, info->sw_index, in dsa_switch_lag_change()
434 info->port); in dsa_switch_lag_change()
440 struct dsa_notifier_lag_info *info) in dsa_switch_lag_join() argument
442 if (ds->index == info->sw_index && ds->ops->port_lag_join) in dsa_switch_lag_join()
443 return ds->ops->port_lag_join(ds, info->port, info->lag, in dsa_switch_lag_join()
444 info->info); in dsa_switch_lag_join()
446 if (ds->index != info->sw_index && ds->ops->crosschip_lag_join) in dsa_switch_lag_join()
447 return ds->ops->crosschip_lag_join(ds, info->sw_index, in dsa_switch_lag_join()
448 info->port, info->lag, in dsa_switch_lag_join()
449 info->info); in dsa_switch_lag_join()
455 struct dsa_notifier_lag_info *info) in dsa_switch_lag_leave() argument
457 if (ds->index == info->sw_index && ds->ops->port_lag_leave) in dsa_switch_lag_leave()
458 return ds->ops->port_lag_leave(ds, info->port, info->lag); in dsa_switch_lag_leave()
460 if (ds->index != info->sw_index && ds->ops->crosschip_lag_leave) in dsa_switch_lag_leave()
461 return ds->ops->crosschip_lag_leave(ds, info->sw_index, in dsa_switch_lag_leave()
462 info->port, info->lag); in dsa_switch_lag_leave()
468 struct dsa_notifier_mdb_info *info) in dsa_switch_mdb_add() argument
470 int port = dsa_towards_port(ds, info->sw_index, info->port); in dsa_switch_mdb_add()
475 return dsa_switch_do_mdb_add(ds, port, info->mdb); in dsa_switch_mdb_add()
479 struct dsa_notifier_mdb_info *info) in dsa_switch_mdb_del() argument
481 int port = dsa_towards_port(ds, info->sw_index, info->port); in dsa_switch_mdb_del()
486 return dsa_switch_do_mdb_del(ds, port, info->mdb); in dsa_switch_mdb_del()
490 struct dsa_notifier_mdb_info *info) in dsa_switch_host_mdb_add() argument
499 if (dsa_switch_host_address_match(ds, port, info->sw_index, in dsa_switch_host_mdb_add()
500 info->port)) { in dsa_switch_host_mdb_add()
501 err = dsa_switch_do_mdb_add(ds, port, info->mdb); in dsa_switch_host_mdb_add()
511 struct dsa_notifier_mdb_info *info) in dsa_switch_host_mdb_del() argument
520 if (dsa_switch_host_address_match(ds, port, info->sw_index, in dsa_switch_host_mdb_del()
521 info->port)) { in dsa_switch_host_mdb_del()
522 err = dsa_switch_do_mdb_del(ds, port, info->mdb); in dsa_switch_host_mdb_del()
532 struct dsa_notifier_vlan_info *info) in dsa_switch_vlan_match() argument
534 if (ds->index == info->sw_index && port == info->port) in dsa_switch_vlan_match()
544 struct dsa_notifier_vlan_info *info) in dsa_switch_vlan_add() argument
552 if (dsa_switch_vlan_match(ds, port, info)) { in dsa_switch_vlan_add()
553 err = ds->ops->port_vlan_add(ds, port, info->vlan, in dsa_switch_vlan_add()
554 info->extack); in dsa_switch_vlan_add()
564 struct dsa_notifier_vlan_info *info) in dsa_switch_vlan_del() argument
569 if (ds->index == info->sw_index) in dsa_switch_vlan_del()
570 return ds->ops->port_vlan_del(ds, info->port, info->vlan); in dsa_switch_vlan_del()
579 struct dsa_notifier_tag_proto_info *info) in dsa_switch_change_tag_proto() argument
581 const struct dsa_device_ops *tag_ops = info->tag_ops; in dsa_switch_change_tag_proto()
620 struct dsa_notifier_mrp_info *info) in dsa_switch_mrp_add() argument
625 if (ds->index == info->sw_index) in dsa_switch_mrp_add()
626 return ds->ops->port_mrp_add(ds, info->port, info->mrp); in dsa_switch_mrp_add()
632 struct dsa_notifier_mrp_info *info) in dsa_switch_mrp_del() argument
637 if (ds->index == info->sw_index) in dsa_switch_mrp_del()
638 return ds->ops->port_mrp_del(ds, info->port, info->mrp); in dsa_switch_mrp_del()
645 struct dsa_notifier_mrp_ring_role_info *info) in dsa_switch_mrp_add_ring_role() argument
650 if (ds->index == info->sw_index) in dsa_switch_mrp_add_ring_role()
651 return ds->ops->port_mrp_add_ring_role(ds, info->port, in dsa_switch_mrp_add_ring_role()
652 info->mrp); in dsa_switch_mrp_add_ring_role()
659 struct dsa_notifier_mrp_ring_role_info *info) in dsa_switch_mrp_del_ring_role() argument
664 if (ds->index == info->sw_index) in dsa_switch_mrp_del_ring_role()
665 return ds->ops->port_mrp_del_ring_role(ds, info->port, in dsa_switch_mrp_del_ring_role()
666 info->mrp); in dsa_switch_mrp_del_ring_role()
672 unsigned long event, void *info) in dsa_switch_event() argument
679 err = dsa_switch_ageing_time(ds, info); in dsa_switch_event()
682 err = dsa_switch_bridge_join(ds, info); in dsa_switch_event()
685 err = dsa_switch_bridge_leave(ds, info); in dsa_switch_event()
688 err = dsa_switch_fdb_add(ds, info); in dsa_switch_event()
691 err = dsa_switch_fdb_del(ds, info); in dsa_switch_event()
694 err = dsa_switch_host_fdb_add(ds, info); in dsa_switch_event()
697 err = dsa_switch_host_fdb_del(ds, info); in dsa_switch_event()
700 err = dsa_switch_hsr_join(ds, info); in dsa_switch_event()
703 err = dsa_switch_hsr_leave(ds, info); in dsa_switch_event()
706 err = dsa_switch_lag_change(ds, info); in dsa_switch_event()
709 err = dsa_switch_lag_join(ds, info); in dsa_switch_event()
712 err = dsa_switch_lag_leave(ds, info); in dsa_switch_event()
715 err = dsa_switch_mdb_add(ds, info); in dsa_switch_event()
718 err = dsa_switch_mdb_del(ds, info); in dsa_switch_event()
721 err = dsa_switch_host_mdb_add(ds, info); in dsa_switch_event()
724 err = dsa_switch_host_mdb_del(ds, info); in dsa_switch_event()
727 err = dsa_switch_vlan_add(ds, info); in dsa_switch_event()
730 err = dsa_switch_vlan_del(ds, info); in dsa_switch_event()
733 err = dsa_switch_mtu(ds, info); in dsa_switch_event()
736 err = dsa_switch_change_tag_proto(ds, info); in dsa_switch_event()
739 err = dsa_switch_mrp_add(ds, info); in dsa_switch_event()
742 err = dsa_switch_mrp_del(ds, info); in dsa_switch_event()
745 err = dsa_switch_mrp_add_ring_role(ds, info); in dsa_switch_event()
748 err = dsa_switch_mrp_del_ring_role(ds, info); in dsa_switch_event()
751 err = dsa_switch_tag_8021q_vlan_add(ds, info); in dsa_switch_event()
754 err = dsa_switch_tag_8021q_vlan_del(ds, info); in dsa_switch_event()