Lines Matching full:dp

88 	struct dsa_port *dp = dsa_user_to_port(dev);  in dsa_user_standalone_event_work()  local
90 struct dsa_switch *ds = dp->ds; in dsa_user_standalone_event_work()
96 err = dsa_port_standalone_host_fdb_add(dp, addr, vid); in dsa_user_standalone_event_work()
100 dp->index, addr, vid, err); in dsa_user_standalone_event_work()
106 err = dsa_port_standalone_host_fdb_del(dp, addr, vid); in dsa_user_standalone_event_work()
110 dp->index, addr, vid, err); in dsa_user_standalone_event_work()
118 err = dsa_port_standalone_host_mdb_add(dp, &mdb); in dsa_user_standalone_event_work()
122 dp->index, addr, vid, err); in dsa_user_standalone_event_work()
130 err = dsa_port_standalone_host_mdb_del(dp, &mdb); in dsa_user_standalone_event_work()
134 dp->index, addr, vid, err); in dsa_user_standalone_event_work()
177 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_for_each() local
187 list_for_each_entry(v, &dp->user_vlans, list) { in dsa_user_vlan_for_each()
200 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_sync_uc() local
209 if (!dsa_switch_supports_uc_filtering(dp->ds)) in dsa_user_sync_uc()
220 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_unsync_uc() local
229 if (!dsa_switch_supports_uc_filtering(dp->ds)) in dsa_user_unsync_uc()
240 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_sync_mc() local
249 if (!dsa_switch_supports_mc_filtering(dp->ds)) in dsa_user_sync_mc()
260 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_unsync_mc() local
269 if (!dsa_switch_supports_mc_filtering(dp->ds)) in dsa_user_unsync_mc()
278 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_sync_ha() local
279 struct dsa_switch *ds = dp->ds; in dsa_user_sync_ha()
299 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_unsync_ha() local
300 struct dsa_switch *ds = dp->ds; in dsa_user_unsync_ha()
361 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_uc_install() local
362 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_install()
366 err = dsa_port_standalone_host_fdb_add(dp, addr, 0); in dsa_user_host_uc_install()
381 dsa_port_standalone_host_fdb_del(dp, addr, 0); in dsa_user_host_uc_install()
389 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_uc_uninstall() local
390 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_uninstall()
396 dsa_port_standalone_host_fdb_del(dp, dev->dev_addr, 0); in dsa_user_host_uc_uninstall()
402 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_open() local
415 err = dsa_port_enable_rt(dp, dev->phydev); in dsa_user_open()
429 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_close() local
431 dsa_port_disable_rt(dp); in dsa_user_close()
441 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_manage_host_flood() local
444 dsa_port_set_host_flood(dp, uc, mc); in dsa_user_manage_host_flood()
450 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_change_rx_flags() local
451 struct dsa_switch *ds = dp->ds; in dsa_user_change_rx_flags()
473 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_mac_address() local
474 struct dsa_switch *ds = dp->ds; in dsa_user_set_mac_address()
482 err = ds->ops->port_set_mac_address(ds, dp->index, in dsa_user_set_mac_address()
562 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_fdb_dump() local
571 err = dsa_port_fdb_dump(dp, dsa_user_port_fdb_do_dump, &dump); in dsa_user_fdb_dump()
580 struct dsa_switch *ds = p->dp->ds; in dsa_user_ioctl()
581 int port = p->dp->index; in dsa_user_ioctl()
595 return phylink_mii_ioctl(p->dp->pl, ifr, cmd); in dsa_user_ioctl()
602 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_attr_set() local
605 if (ctx && ctx != dp) in dsa_user_port_attr_set()
610 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
613 ret = dsa_port_set_state(dp, attr->u.stp_state, true); in dsa_user_port_attr_set()
616 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
619 ret = dsa_port_set_mst_state(dp, &attr->u.mst_state, extack); in dsa_user_port_attr_set()
622 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
625 ret = dsa_port_vlan_filtering(dp, attr->u.vlan_filtering, in dsa_user_port_attr_set()
629 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
632 ret = dsa_port_ageing_time(dp, attr->u.ageing_time); in dsa_user_port_attr_set()
635 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
638 ret = dsa_port_mst_enable(dp, attr->u.mst, extack); in dsa_user_port_attr_set()
641 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
644 ret = dsa_port_pre_bridge_flags(dp, attr->u.brport_flags, in dsa_user_port_attr_set()
648 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
651 ret = dsa_port_bridge_flags(dp, attr->u.brport_flags, extack); in dsa_user_port_attr_set()
654 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
657 ret = dsa_port_vlan_msti(dp, &attr->u.vlan_msti); in dsa_user_port_attr_set()
693 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_add() local
697 if (dsa_port_skip_vlan_configuration(dp)) { in dsa_user_vlan_add()
707 if (br_vlan_enabled(dsa_port_bridge_dev_get(dp))) { in dsa_user_vlan_add()
718 return dsa_port_vlan_add(dp, vlan, extack); in dsa_user_vlan_add()
728 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_vlan_add() local
732 if (!dp->bridge) in dsa_user_host_vlan_add()
735 if (dsa_port_skip_vlan_configuration(dp)) { in dsa_user_host_vlan_add()
747 return dsa_port_host_vlan_add(dp, &vlan, extack); in dsa_user_host_vlan_add()
754 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_obj_add() local
757 if (ctx && ctx != dp) in dsa_user_port_obj_add()
762 if (!dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_add()
765 err = dsa_port_mdb_add(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_add()
768 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
771 err = dsa_port_bridge_host_mdb_add(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_add()
774 if (dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_add()
780 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
783 err = dsa_port_mrp_add(dp, SWITCHDEV_OBJ_MRP(obj)); in dsa_user_port_obj_add()
786 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
789 err = dsa_port_mrp_add_ring_role(dp, in dsa_user_port_obj_add()
803 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_del() local
806 if (dsa_port_skip_vlan_configuration(dp)) in dsa_user_vlan_del()
811 return dsa_port_vlan_del(dp, vlan); in dsa_user_vlan_del()
817 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_vlan_del() local
821 if (!dp->bridge) in dsa_user_host_vlan_del()
824 if (dsa_port_skip_vlan_configuration(dp)) in dsa_user_host_vlan_del()
829 return dsa_port_host_vlan_del(dp, vlan); in dsa_user_host_vlan_del()
835 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_obj_del() local
838 if (ctx && ctx != dp) in dsa_user_port_obj_del()
843 if (!dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_del()
846 err = dsa_port_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_del()
849 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
852 err = dsa_port_bridge_host_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_del()
855 if (dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_del()
861 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
864 err = dsa_port_mrp_del(dp, SWITCHDEV_OBJ_MRP(obj)); in dsa_user_port_obj_del()
867 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
870 err = dsa_port_mrp_del_ring_role(dp, in dsa_user_port_obj_del()
897 struct dsa_switch *ds = p->dp->ds; in dsa_skb_tx_timestamp()
905 ds->ops->port_txtstamp(ds, p->dp->index, skb); in dsa_skb_tx_timestamp()
974 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_regs_len() local
975 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs_len()
978 return ds->ops->get_regs_len(ds, dp->index); in dsa_user_get_regs_len()
986 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_regs() local
987 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs()
990 ds->ops->get_regs(ds, dp->index, regs, _p); in dsa_user_get_regs()
995 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_nway_reset() local
997 return phylink_ethtool_nway_reset(dp->pl); in dsa_user_nway_reset()
1002 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eeprom_len() local
1003 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom_len()
1017 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eeprom() local
1018 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom()
1029 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_eeprom() local
1030 struct dsa_switch *ds = dp->ds; in dsa_user_set_eeprom()
1041 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_strings() local
1042 struct dsa_switch *ds = dp->ds; in dsa_user_get_strings()
1052 ds->ops->get_strings(ds, dp->index, stringset, in dsa_user_get_strings()
1064 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_ethtool_stats() local
1065 struct dsa_switch *ds = dp->ds; in dsa_user_get_ethtool_stats()
1087 ds->ops->get_ethtool_stats(ds, dp->index, data + 4); in dsa_user_get_ethtool_stats()
1092 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_sset_count() local
1093 struct dsa_switch *ds = dp->ds; in dsa_user_get_sset_count()
1099 count = ds->ops->get_sset_count(ds, dp->index, sset); in dsa_user_get_sset_count()
1115 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_phy_stats() local
1116 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_phy_stats()
1119 ds->ops->get_eth_phy_stats(ds, dp->index, phy_stats); in dsa_user_get_eth_phy_stats()
1125 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_mac_stats() local
1126 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_mac_stats()
1129 ds->ops->get_eth_mac_stats(ds, dp->index, mac_stats); in dsa_user_get_eth_mac_stats()
1136 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_ctrl_stats() local
1137 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_ctrl_stats()
1140 ds->ops->get_eth_ctrl_stats(ds, dp->index, ctrl_stats); in dsa_user_get_eth_ctrl_stats()
1148 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_rmon_stats() local
1149 struct dsa_switch *ds = dp->ds; in dsa_user_get_rmon_stats()
1152 ds->ops->get_rmon_stats(ds, dp->index, rmon_stats, ranges); in dsa_user_get_rmon_stats()
1158 struct dsa_port *dp = dsa_user_to_port(ndev); in dsa_user_net_selftest() local
1159 struct dsa_switch *ds = dp->ds; in dsa_user_net_selftest()
1162 ds->ops->self_test(ds, dp->index, etest, buf); in dsa_user_net_selftest()
1172 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_mm() local
1173 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm()
1178 return ds->ops->get_mm(ds, dp->index, state); in dsa_user_get_mm()
1184 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_mm() local
1185 struct dsa_switch *ds = dp->ds; in dsa_user_set_mm()
1190 return ds->ops->set_mm(ds, dp->index, cfg, extack); in dsa_user_set_mm()
1196 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_mm_stats() local
1197 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm_stats()
1200 ds->ops->get_mm_stats(ds, dp->index, stats); in dsa_user_get_mm_stats()
1205 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_wol() local
1206 struct dsa_switch *ds = dp->ds; in dsa_user_get_wol()
1208 phylink_ethtool_get_wol(dp->pl, w); in dsa_user_get_wol()
1211 ds->ops->get_wol(ds, dp->index, w); in dsa_user_get_wol()
1216 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_wol() local
1217 struct dsa_switch *ds = dp->ds; in dsa_user_set_wol()
1220 phylink_ethtool_set_wol(dp->pl, w); in dsa_user_set_wol()
1223 ret = ds->ops->set_wol(ds, dp->index, w); in dsa_user_set_wol()
1230 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_eee() local
1231 struct dsa_switch *ds = dp->ds; in dsa_user_set_eee()
1235 if (!dev->phydev || !dp->pl) in dsa_user_set_eee()
1241 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_user_set_eee()
1245 return phylink_ethtool_set_eee(dp->pl, e); in dsa_user_set_eee()
1250 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eee() local
1251 struct dsa_switch *ds = dp->ds; in dsa_user_get_eee()
1255 if (!dev->phydev || !dp->pl) in dsa_user_get_eee()
1261 ret = ds->ops->get_mac_eee(ds, dp->index, e); in dsa_user_get_eee()
1265 return phylink_ethtool_get_eee(dp->pl, e); in dsa_user_get_eee()
1271 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_link_ksettings() local
1273 return phylink_ethtool_ksettings_get(dp->pl, cmd); in dsa_user_get_link_ksettings()
1279 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_link_ksettings() local
1281 return phylink_ethtool_ksettings_set(dp->pl, cmd); in dsa_user_set_link_ksettings()
1287 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_pause_stats() local
1288 struct dsa_switch *ds = dp->ds; in dsa_user_get_pause_stats()
1291 ds->ops->get_pause_stats(ds, dp->index, pause_stats); in dsa_user_get_pause_stats()
1297 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_pauseparam() local
1299 phylink_ethtool_get_pauseparam(dp->pl, pause); in dsa_user_get_pauseparam()
1305 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_pauseparam() local
1307 return phylink_ethtool_set_pauseparam(dp->pl, pause); in dsa_user_set_pauseparam()
1371 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_matchall_mirred() local
1375 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_mirred()
1408 err = ds->ops->port_mirror_add(ds, dp->index, mirror, ingress, extack); in dsa_user_add_cls_matchall_mirred()
1425 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_matchall_police() local
1429 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_police()
1469 err = ds->ops->port_policer_add(ds, dp->index, policer); in dsa_user_add_cls_matchall_police()
1500 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_del_cls_matchall() local
1502 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_matchall()
1513 ds->ops->port_mirror_del(ds, dp->index, in dsa_user_del_cls_matchall()
1518 ds->ops->port_policer_del(ds, dp->index); in dsa_user_del_cls_matchall()
1549 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_flower() local
1550 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_flower()
1551 int port = dp->index; in dsa_user_add_cls_flower()
1563 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_del_cls_flower() local
1564 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_flower()
1565 int port = dp->index; in dsa_user_del_cls_flower()
1577 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_stats_cls_flower() local
1578 struct dsa_switch *ds = dp->ds; in dsa_user_stats_cls_flower()
1579 int port = dp->index; in dsa_user_stats_cls_flower()
1689 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_setup_tc() local
1690 struct dsa_switch *ds = dp->ds; in dsa_user_setup_tc()
1696 return dsa_user_setup_ft_block(ds, dp->index, type_data); in dsa_user_setup_tc()
1704 return ds->ops->port_setup_tc(ds, dp->index, type, type_data); in dsa_user_setup_tc()
1710 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_rxnfc() local
1711 struct dsa_switch *ds = dp->ds; in dsa_user_get_rxnfc()
1716 return ds->ops->get_rxnfc(ds, dp->index, nfc, rule_locs); in dsa_user_get_rxnfc()
1722 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_rxnfc() local
1723 struct dsa_switch *ds = dp->ds; in dsa_user_set_rxnfc()
1728 return ds->ops->set_rxnfc(ds, dp->index, nfc); in dsa_user_set_rxnfc()
1735 struct dsa_switch *ds = p->dp->ds; in dsa_user_get_ts_info()
1740 return ds->ops->get_ts_info(ds, p->dp->index, ts); in dsa_user_get_ts_info()
1746 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_rx_add_vid() local
1754 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_add_vid()
1760 ret = dsa_port_vlan_add(dp, &vlan, &extack); in dsa_user_vlan_rx_add_vid()
1768 ret = dsa_port_host_vlan_add(dp, &vlan, &extack); in dsa_user_vlan_rx_add_vid()
1771 netdev_err(dev, "CPU port %d: %s\n", dp->cpu_dp->index, in dsa_user_vlan_rx_add_vid()
1789 list_add_tail(&v->list, &dp->user_vlans); in dsa_user_vlan_rx_add_vid()
1812 dsa_port_host_vlan_del(dp, &vlan); in dsa_user_vlan_rx_add_vid()
1813 dsa_port_vlan_del(dp, &vlan); in dsa_user_vlan_rx_add_vid()
1821 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_rx_kill_vid() local
1827 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_kill_vid()
1832 err = dsa_port_vlan_del(dp, &vlan); in dsa_user_vlan_rx_kill_vid()
1836 err = dsa_port_host_vlan_del(dp, &vlan); in dsa_user_vlan_rx_kill_vid()
1846 v = dsa_vlan_find(&dp->user_vlans, &vlan); in dsa_user_vlan_rx_kill_vid()
1989 static void dsa_bridge_mtu_normalization(struct dsa_port *dp) in dsa_bridge_mtu_normalization() argument
1997 if (!dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
2000 if (!dp->bridge) in dsa_bridge_mtu_normalization()
2016 if (!dsa_port_bridge_same(dp, other_dp)) in dsa_bridge_mtu_normalization()
2042 err = dsa_hw_port_list_set_mtu(&hw_port_list, dp->user->mtu); in dsa_bridge_mtu_normalization()
2059 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_change_mtu() local
2060 struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_change_mtu()
2061 struct dsa_switch *ds = dp->ds; in dsa_user_change_mtu()
2087 if (dp == other_dp) in dsa_user_change_mtu()
2122 err = ds->ops->port_change_mtu(ds, dp->index, new_mtu); in dsa_user_change_mtu()
2128 dsa_bridge_mtu_normalization(dp); in dsa_user_change_mtu()
2145 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_set_apptrust() local
2146 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_apptrust()
2147 int port = dp->index; in dsa_user_dcbnl_set_apptrust()
2158 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_get_apptrust() local
2159 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_get_apptrust()
2160 int port = dp->index; in dsa_user_dcbnl_get_apptrust()
2171 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_set_default_prio() local
2172 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_default_prio()
2174 int err, port = dp->index; in dsa_user_dcbnl_set_default_prio()
2202 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_ieee_global_dscp_setdel() local
2203 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_ieee_global_dscp_setdel()
2250 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_add_dscp_prio() local
2251 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_add_dscp_prio()
2253 int err, port = dp->index; in dsa_user_dcbnl_add_dscp_prio()
2314 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_del_default_prio() local
2315 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_default_prio()
2317 int err, port = dp->index; in dsa_user_dcbnl_del_default_prio()
2341 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_del_dscp_prio() local
2342 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_dscp_prio()
2343 int err, port = dp->index; in dsa_user_dcbnl_del_dscp_prio()
2398 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_init() local
2399 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_init()
2400 int port = dp->index; in dsa_user_dcbnl_init()
2490 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_stats64() local
2491 struct dsa_switch *ds = dp->ds; in dsa_user_get_stats64()
2494 ds->ops->get_stats64(ds, dp->index, s); in dsa_user_get_stats64()
2502 struct dsa_port *dp = dsa_user_to_port(ctx->dev); in dsa_user_fill_forward_path() local
2503 struct net_device *conduit = dsa_port_to_conduit(dp); in dsa_user_fill_forward_path()
2504 struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_fill_forward_path()
2509 path->dsa.port = dp->index; in dsa_user_fill_forward_path()
2544 const struct dsa_port *dp = dsa_to_port(ds, port); in dsa_port_phylink_mac_change() local
2546 if (dp->pl) in dsa_port_phylink_mac_change()
2547 phylink_mac_change(dp->pl, up); in dsa_port_phylink_mac_change()
2554 struct dsa_port *dp = dsa_phylink_to_port(config); in dsa_user_phylink_fixed_state() local
2555 struct dsa_switch *ds = dp->ds; in dsa_user_phylink_fixed_state()
2560 ds->ops->phylink_fixed_state(ds, dp->index, state); in dsa_user_phylink_fixed_state()
2567 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_connect() local
2568 struct dsa_switch *ds = dp->ds; in dsa_user_phy_connect()
2578 return phylink_connect_phy(dp->pl, user_dev->phydev); in dsa_user_phy_connect()
2583 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_setup() local
2584 struct device_node *port_dn = dp->dn; in dsa_user_phy_setup()
2585 struct dsa_switch *ds = dp->ds; in dsa_user_phy_setup()
2589 dp->pl_config.dev = &user_dev->dev; in dsa_user_phy_setup()
2590 dp->pl_config.type = PHYLINK_NETDEV; in dsa_user_phy_setup()
2597 dp->pl_config.get_fixed_state = dsa_user_phylink_fixed_state; in dsa_user_phy_setup()
2598 dp->pl_config.poll_fixed_state = true; in dsa_user_phy_setup()
2601 ret = dsa_port_phylink_create(dp); in dsa_user_phy_setup()
2606 phy_flags = ds->ops->get_phy_flags(ds, dp->index); in dsa_user_phy_setup()
2608 ret = phylink_of_phy_connect(dp->pl, port_dn, phy_flags); in dsa_user_phy_setup()
2613 ret = dsa_user_phy_connect(user_dev, dp->index, phy_flags); in dsa_user_phy_setup()
2618 dsa_port_phylink_destroy(dp); in dsa_user_phy_setup()
2626 struct dsa_port *dp = dsa_user_to_port(user); in dsa_user_setup_tagger() local
2627 struct net_device *conduit = dsa_port_to_conduit(dp); in dsa_user_setup_tagger()
2629 const struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_setup_tagger()
2630 const struct dsa_switch *ds = dp->ds; in dsa_user_setup_tagger()
2655 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_suspend() local
2663 phylink_stop(dp->pl); in dsa_user_suspend()
2671 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_resume() local
2679 phylink_start(dp->pl); in dsa_user_resume()
2741 p->dp = port; in dsa_user_create()
2795 phylink_disconnect_phy(p->dp->pl); in dsa_user_create()
2797 dsa_port_phylink_destroy(p->dp); in dsa_user_create()
2809 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_destroy() local
2816 phylink_disconnect_phy(dp->pl); in dsa_user_destroy()
2819 dsa_port_phylink_destroy(dp); in dsa_user_destroy()
2828 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_change_conduit() local
2829 struct dsa_switch *ds = dp->ds; in dsa_user_change_conduit()
2874 err = dsa_port_change_conduit(dp, conduit, extack); in dsa_user_change_conduit()
2906 struct dsa_port *dp; in dsa_user_changeupper() local
2911 dp = dsa_user_to_port(dev); in dsa_user_changeupper()
2916 err = dsa_port_bridge_join(dp, info->upper_dev, extack); in dsa_user_changeupper()
2918 dsa_bridge_mtu_normalization(dp); in dsa_user_changeupper()
2926 dsa_port_bridge_leave(dp, info->upper_dev); in dsa_user_changeupper()
2931 err = dsa_port_lag_join(dp, info->upper_dev, in dsa_user_changeupper()
2940 dsa_port_lag_leave(dp, info->upper_dev); in dsa_user_changeupper()
2945 err = dsa_port_hsr_join(dp, info->upper_dev, extack); in dsa_user_changeupper()
2953 dsa_port_hsr_leave(dp, info->upper_dev); in dsa_user_changeupper()
2964 struct dsa_port *dp; in dsa_user_prechangeupper() local
2969 dp = dsa_user_to_port(dev); in dsa_user_prechangeupper()
2972 dsa_port_pre_bridge_leave(dp, info->upper_dev); in dsa_user_prechangeupper()
2974 dsa_port_pre_lag_leave(dp, info->upper_dev); in dsa_user_prechangeupper()
2989 struct dsa_port *dp; in dsa_user_lag_changeupper() local
2998 dp = dsa_user_to_port(lower); in dsa_user_lag_changeupper()
2999 if (!dp->lag) in dsa_user_lag_changeupper()
3021 struct dsa_port *dp; in dsa_user_lag_prechangeupper() local
3030 dp = dsa_user_to_port(lower); in dsa_user_lag_prechangeupper()
3031 if (!dp->lag) in dsa_user_lag_prechangeupper()
3049 struct dsa_port *dp; in dsa_prevent_bridging_8021q_upper() local
3060 dp = dsa_user_to_port(user); in dsa_prevent_bridging_8021q_upper()
3061 br = dsa_port_bridge_dev_get(dp); in dsa_prevent_bridging_8021q_upper()
3080 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_check_8021q_upper() local
3081 struct net_device *br = dsa_port_bridge_dev_get(dp); in dsa_user_check_8021q_upper()
3112 struct dsa_port *dp; in dsa_user_prechangeupper_sanity_check() local
3118 dp = dsa_user_to_port(dev); in dsa_user_prechangeupper_sanity_check()
3119 ds = dp->ds; in dsa_user_prechangeupper_sanity_check()
3122 err = ds->ops->port_prechangeupper(ds, dp->index, info); in dsa_user_prechangeupper_sanity_check()
3278 struct dsa_port *dp; in dsa_tree_migrate_ports_from_lag_conduit() local
3281 dsa_tree_for_each_user_port(dp, dst) { in dsa_tree_migrate_ports_from_lag_conduit()
3282 if (dsa_port_to_conduit(dp) != lag_dev) in dsa_tree_migrate_ports_from_lag_conduit()
3285 err = dsa_user_change_conduit(dp->user, new_conduit, NULL); in dsa_tree_migrate_ports_from_lag_conduit()
3287 netdev_err(dp->user, in dsa_tree_migrate_ports_from_lag_conduit()
3301 struct dsa_port *dp; in dsa_conduit_lag_join() local
3308 dsa_tree_for_each_user_port(dp, dst) { in dsa_conduit_lag_join()
3309 if (dsa_port_to_conduit(dp) != conduit) in dsa_conduit_lag_join()
3312 err = dsa_user_change_conduit(dp->user, lag_dev, extack); in dsa_conduit_lag_join()
3320 dsa_tree_for_each_user_port_continue_reverse(dp, dst) { in dsa_conduit_lag_join()
3321 if (dsa_port_to_conduit(dp) != lag_dev) in dsa_conduit_lag_join()
3324 err = dsa_user_change_conduit(dp->user, conduit, NULL); in dsa_conduit_lag_join()
3326 netdev_err(dp->user, in dsa_conduit_lag_join()
3340 struct dsa_port *dp, *cpu_dp = lag_dev->dsa_ptr; in dsa_conduit_lag_leave() local
3357 dsa_tree_for_each_user_port(dp, dst) in dsa_conduit_lag_leave()
3358 if (dsa_port_to_conduit(dp) == lag_dev) in dsa_conduit_lag_leave()
3359 dp->cpu_dp = new_cpu_dp; in dsa_conduit_lag_leave()
3459 struct dsa_port *dp; in dsa_user_netdevice_event() local
3463 dp = dsa_user_to_port(dev); in dsa_user_netdevice_event()
3465 err = dsa_port_lag_change(dp, info->lower_state_info); in dsa_user_netdevice_event()
3472 dp = dev->dsa_ptr; in dsa_user_netdevice_event()
3474 err = dsa_port_lag_change(dp, info->lower_state_info); in dsa_user_netdevice_event()
3510 struct dsa_port *dp, *cpu_dp; in dsa_user_netdevice_event() local
3522 list_for_each_entry(dp, &dst->ports, list) { in dsa_user_netdevice_event()
3523 if (!dsa_port_is_user(dp)) in dsa_user_netdevice_event()
3526 if (dp->cpu_dp != cpu_dp) in dsa_user_netdevice_event()
3529 list_add(&dp->user->close_list, &close_list); in dsa_user_netdevice_event()
3563 struct dsa_port *dp; in dsa_user_switchdev_event_work() local
3566 dp = dsa_user_to_port(dev); in dsa_user_switchdev_event_work()
3567 ds = dp->ds; in dsa_user_switchdev_event_work()
3572 err = dsa_port_bridge_host_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3573 else if (dp->lag) in dsa_user_switchdev_event_work()
3574 err = dsa_port_lag_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3576 err = dsa_port_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3580 dp->index, addr, vid, err); in dsa_user_switchdev_event_work()
3588 err = dsa_port_bridge_host_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3589 else if (dp->lag) in dsa_user_switchdev_event_work()
3590 err = dsa_port_lag_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3592 err = dsa_port_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3596 dp->index, addr, vid, err); in dsa_user_switchdev_event_work()
3608 const struct dsa_port *dp = dsa_user_to_port(dev); in dsa_foreign_dev_check() local
3609 struct dsa_switch_tree *dst = dp->ds->dst; in dsa_foreign_dev_check()
3627 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_fdb_event() local
3629 struct dsa_switch *ds = dp->ds; in dsa_user_fdb_event()
3631 if (ctx && ctx != dp) in dsa_user_fdb_event()
3634 if (!dp->bridge) in dsa_user_fdb_event()
3638 if (dsa_port_offloads_bridge_port(dp, orig_dev)) in dsa_user_fdb_event()
3659 if (dp->lag && !host_addr) { in dsa_user_fdb_event()