Lines Matching refs: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()
563 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_fdb_dump() local
572 err = dsa_port_fdb_dump(dp, dsa_user_port_fdb_do_dump, &dump); in dsa_user_fdb_dump()
582 return phylink_mii_ioctl(p->dp->pl, ifr, cmd); in dsa_user_ioctl()
589 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_attr_set() local
592 if (ctx && ctx != dp) in dsa_user_port_attr_set()
597 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
600 ret = dsa_port_set_state(dp, attr->u.stp_state, true); in dsa_user_port_attr_set()
603 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
606 ret = dsa_port_set_mst_state(dp, &attr->u.mst_state, extack); in dsa_user_port_attr_set()
609 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
612 ret = dsa_port_vlan_filtering(dp, attr->u.vlan_filtering, in dsa_user_port_attr_set()
616 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
619 ret = dsa_port_ageing_time(dp, attr->u.ageing_time); 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_mst_enable(dp, attr->u.mst, extack); in dsa_user_port_attr_set()
628 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
631 ret = dsa_port_pre_bridge_flags(dp, attr->u.brport_flags, in dsa_user_port_attr_set()
635 if (!dsa_port_offloads_bridge_port(dp, attr->orig_dev)) in dsa_user_port_attr_set()
638 ret = dsa_port_bridge_flags(dp, attr->u.brport_flags, extack); in dsa_user_port_attr_set()
641 if (!dsa_port_offloads_bridge_dev(dp, attr->orig_dev)) in dsa_user_port_attr_set()
644 ret = dsa_port_vlan_msti(dp, &attr->u.vlan_msti); in dsa_user_port_attr_set()
680 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_add() local
684 if (dsa_port_skip_vlan_configuration(dp)) { in dsa_user_vlan_add()
694 if (br_vlan_enabled(dsa_port_bridge_dev_get(dp))) { in dsa_user_vlan_add()
705 return dsa_port_vlan_add(dp, vlan, extack); in dsa_user_vlan_add()
715 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_vlan_add() local
719 if (!dp->bridge) in dsa_user_host_vlan_add()
722 if (dsa_port_skip_vlan_configuration(dp)) { in dsa_user_host_vlan_add()
734 return dsa_port_host_vlan_add(dp, &vlan, extack); in dsa_user_host_vlan_add()
741 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_obj_add() local
744 if (ctx && ctx != dp) in dsa_user_port_obj_add()
749 if (!dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_add()
752 err = dsa_port_mdb_add(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_add()
755 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
758 err = dsa_port_bridge_host_mdb_add(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_add()
761 if (dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_add()
767 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
770 err = dsa_port_mrp_add(dp, SWITCHDEV_OBJ_MRP(obj)); in dsa_user_port_obj_add()
773 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_add()
776 err = dsa_port_mrp_add_ring_role(dp, in dsa_user_port_obj_add()
790 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_del() local
793 if (dsa_port_skip_vlan_configuration(dp)) in dsa_user_vlan_del()
798 return dsa_port_vlan_del(dp, vlan); in dsa_user_vlan_del()
804 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_host_vlan_del() local
808 if (!dp->bridge) in dsa_user_host_vlan_del()
811 if (dsa_port_skip_vlan_configuration(dp)) in dsa_user_host_vlan_del()
816 return dsa_port_host_vlan_del(dp, vlan); in dsa_user_host_vlan_del()
822 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_port_obj_del() local
825 if (ctx && ctx != dp) in dsa_user_port_obj_del()
830 if (!dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_del()
833 err = dsa_port_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_del()
836 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
839 err = dsa_port_bridge_host_mdb_del(dp, SWITCHDEV_OBJ_PORT_MDB(obj)); in dsa_user_port_obj_del()
842 if (dsa_port_offloads_bridge_port(dp, obj->orig_dev)) in dsa_user_port_obj_del()
848 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
851 err = dsa_port_mrp_del(dp, SWITCHDEV_OBJ_MRP(obj)); in dsa_user_port_obj_del()
854 if (!dsa_port_offloads_bridge_dev(dp, obj->orig_dev)) in dsa_user_port_obj_del()
857 err = dsa_port_mrp_del_ring_role(dp, in dsa_user_port_obj_del()
884 struct dsa_switch *ds = p->dp->ds; in dsa_skb_tx_timestamp()
892 ds->ops->port_txtstamp(ds, p->dp->index, skb); in dsa_skb_tx_timestamp()
961 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_regs_len() local
962 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs_len()
965 return ds->ops->get_regs_len(ds, dp->index); in dsa_user_get_regs_len()
973 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_regs() local
974 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs()
977 ds->ops->get_regs(ds, dp->index, regs, _p); in dsa_user_get_regs()
982 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_nway_reset() local
984 return phylink_ethtool_nway_reset(dp->pl); in dsa_user_nway_reset()
989 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eeprom_len() local
990 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom_len()
1004 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eeprom() local
1005 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom()
1016 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_eeprom() local
1017 struct dsa_switch *ds = dp->ds; in dsa_user_set_eeprom()
1028 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_strings() local
1029 struct dsa_switch *ds = dp->ds; in dsa_user_get_strings()
1037 ds->ops->get_strings(ds, dp->index, stringset, data); in dsa_user_get_strings()
1048 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_ethtool_stats() local
1049 struct dsa_switch *ds = dp->ds; in dsa_user_get_ethtool_stats()
1071 ds->ops->get_ethtool_stats(ds, dp->index, data + 4); in dsa_user_get_ethtool_stats()
1076 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_sset_count() local
1077 struct dsa_switch *ds = dp->ds; in dsa_user_get_sset_count()
1083 count = ds->ops->get_sset_count(ds, dp->index, sset); in dsa_user_get_sset_count()
1099 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_phy_stats() local
1100 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_phy_stats()
1103 ds->ops->get_eth_phy_stats(ds, dp->index, phy_stats); in dsa_user_get_eth_phy_stats()
1109 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_mac_stats() local
1110 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_mac_stats()
1113 ds->ops->get_eth_mac_stats(ds, dp->index, mac_stats); in dsa_user_get_eth_mac_stats()
1120 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eth_ctrl_stats() local
1121 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_ctrl_stats()
1124 ds->ops->get_eth_ctrl_stats(ds, dp->index, ctrl_stats); in dsa_user_get_eth_ctrl_stats()
1132 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_rmon_stats() local
1133 struct dsa_switch *ds = dp->ds; in dsa_user_get_rmon_stats()
1136 ds->ops->get_rmon_stats(ds, dp->index, rmon_stats, ranges); in dsa_user_get_rmon_stats()
1142 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_ts_stats() local
1143 struct dsa_switch *ds = dp->ds; in dsa_user_get_ts_stats()
1146 ds->ops->get_ts_stats(ds, dp->index, ts_stats); in dsa_user_get_ts_stats()
1152 struct dsa_port *dp = dsa_user_to_port(ndev); in dsa_user_net_selftest() local
1153 struct dsa_switch *ds = dp->ds; in dsa_user_net_selftest()
1156 ds->ops->self_test(ds, dp->index, etest, buf); in dsa_user_net_selftest()
1166 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_mm() local
1167 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm()
1172 return ds->ops->get_mm(ds, dp->index, state); in dsa_user_get_mm()
1178 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_mm() local
1179 struct dsa_switch *ds = dp->ds; in dsa_user_set_mm()
1184 return ds->ops->set_mm(ds, dp->index, cfg, extack); in dsa_user_set_mm()
1190 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_mm_stats() local
1191 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm_stats()
1194 ds->ops->get_mm_stats(ds, dp->index, stats); in dsa_user_get_mm_stats()
1199 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_wol() local
1200 struct dsa_switch *ds = dp->ds; in dsa_user_get_wol()
1202 phylink_ethtool_get_wol(dp->pl, w); in dsa_user_get_wol()
1205 ds->ops->get_wol(ds, dp->index, w); in dsa_user_get_wol()
1210 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_wol() local
1211 struct dsa_switch *ds = dp->ds; in dsa_user_set_wol()
1214 phylink_ethtool_set_wol(dp->pl, w); in dsa_user_set_wol()
1217 ret = ds->ops->set_wol(ds, dp->index, w); in dsa_user_set_wol()
1224 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_eee() local
1225 struct dsa_switch *ds = dp->ds; in dsa_user_set_eee()
1229 if (!ds->ops->support_eee || !ds->ops->support_eee(ds, dp->index)) in dsa_user_set_eee()
1243 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_user_set_eee()
1247 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_user_set_eee()
1252 return phylink_ethtool_set_eee(dp->pl, e); in dsa_user_set_eee()
1257 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_eee() local
1258 struct dsa_switch *ds = dp->ds; in dsa_user_get_eee()
1261 if (!ds->ops->support_eee || !ds->ops->support_eee(ds, dp->index)) in dsa_user_get_eee()
1268 return phylink_ethtool_get_eee(dp->pl, e); in dsa_user_get_eee()
1274 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_link_ksettings() local
1276 return phylink_ethtool_ksettings_get(dp->pl, cmd); in dsa_user_get_link_ksettings()
1282 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_link_ksettings() local
1284 return phylink_ethtool_ksettings_set(dp->pl, cmd); in dsa_user_set_link_ksettings()
1290 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_pause_stats() local
1291 struct dsa_switch *ds = dp->ds; in dsa_user_get_pause_stats()
1294 ds->ops->get_pause_stats(ds, dp->index, pause_stats); in dsa_user_get_pause_stats()
1300 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_pauseparam() local
1302 phylink_ethtool_get_pauseparam(dp->pl, pause); in dsa_user_get_pauseparam()
1308 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_pauseparam() local
1310 return phylink_ethtool_set_pauseparam(dp->pl, pause); in dsa_user_set_pauseparam()
1373 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_matchall_mirred() local
1377 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_mirred()
1410 to_dp = dp->cpu_dp; in dsa_user_add_cls_matchall_mirred()
1424 to_dp = dp->cpu_dp; in dsa_user_add_cls_matchall_mirred()
1427 if (dp->ds != to_dp->ds) { in dsa_user_add_cls_matchall_mirred()
1443 err = ds->ops->port_mirror_add(ds, dp->index, mirror, ingress, extack); in dsa_user_add_cls_matchall_mirred()
1460 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_matchall_police() local
1464 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_police()
1503 err = ds->ops->port_policer_add(ds, dp->index, policer); in dsa_user_add_cls_matchall_police()
1547 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_del_cls_matchall() local
1549 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_matchall()
1560 ds->ops->port_mirror_del(ds, dp->index, in dsa_user_del_cls_matchall()
1565 ds->ops->port_policer_del(ds, dp->index); in dsa_user_del_cls_matchall()
1596 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_add_cls_flower() local
1597 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_flower()
1598 int port = dp->index; in dsa_user_add_cls_flower()
1610 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_del_cls_flower() local
1611 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_flower()
1612 int port = dp->index; in dsa_user_del_cls_flower()
1624 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_stats_cls_flower() local
1625 struct dsa_switch *ds = dp->ds; in dsa_user_stats_cls_flower()
1626 int port = dp->index; in dsa_user_stats_cls_flower()
1736 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_setup_tc() local
1737 struct dsa_switch *ds = dp->ds; in dsa_user_setup_tc()
1743 return dsa_user_setup_ft_block(ds, dp->index, type_data); in dsa_user_setup_tc()
1751 return ds->ops->port_setup_tc(ds, dp->index, type, type_data); in dsa_user_setup_tc()
1757 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_rxnfc() local
1758 struct dsa_switch *ds = dp->ds; in dsa_user_get_rxnfc()
1763 return ds->ops->get_rxnfc(ds, dp->index, nfc, rule_locs); in dsa_user_get_rxnfc()
1769 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_set_rxnfc() local
1770 struct dsa_switch *ds = dp->ds; in dsa_user_set_rxnfc()
1775 return ds->ops->set_rxnfc(ds, dp->index, nfc); in dsa_user_set_rxnfc()
1782 struct dsa_switch *ds = p->dp->ds; in dsa_user_get_ts_info()
1787 return ds->ops->get_ts_info(ds, p->dp->index, ts); in dsa_user_get_ts_info()
1793 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_rx_add_vid() local
1801 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_add_vid()
1807 ret = dsa_port_vlan_add(dp, &vlan, &extack); in dsa_user_vlan_rx_add_vid()
1815 ret = dsa_port_host_vlan_add(dp, &vlan, &extack); in dsa_user_vlan_rx_add_vid()
1818 netdev_err(dev, "CPU port %d: %s\n", dp->cpu_dp->index, in dsa_user_vlan_rx_add_vid()
1836 list_add_tail(&v->list, &dp->user_vlans); in dsa_user_vlan_rx_add_vid()
1859 dsa_port_host_vlan_del(dp, &vlan); in dsa_user_vlan_rx_add_vid()
1860 dsa_port_vlan_del(dp, &vlan); in dsa_user_vlan_rx_add_vid()
1868 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_vlan_rx_kill_vid() local
1874 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_kill_vid()
1879 err = dsa_port_vlan_del(dp, &vlan); in dsa_user_vlan_rx_kill_vid()
1883 err = dsa_port_host_vlan_del(dp, &vlan); in dsa_user_vlan_rx_kill_vid()
1893 v = dsa_vlan_find(&dp->user_vlans, &vlan); in dsa_user_vlan_rx_kill_vid()
2036 static void dsa_bridge_mtu_normalization(struct dsa_port *dp) in dsa_bridge_mtu_normalization() argument
2044 if (!dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
2047 if (!dp->bridge) in dsa_bridge_mtu_normalization()
2063 if (!dsa_port_bridge_same(dp, other_dp)) in dsa_bridge_mtu_normalization()
2089 err = dsa_hw_port_list_set_mtu(&hw_port_list, dp->user->mtu); in dsa_bridge_mtu_normalization()
2106 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_change_mtu() local
2107 struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_change_mtu()
2108 struct dsa_switch *ds = dp->ds; in dsa_user_change_mtu()
2134 if (dp == other_dp) in dsa_user_change_mtu()
2169 err = ds->ops->port_change_mtu(ds, dp->index, new_mtu); in dsa_user_change_mtu()
2175 dsa_bridge_mtu_normalization(dp); in dsa_user_change_mtu()
2192 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_set_apptrust() local
2193 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_apptrust()
2194 int port = dp->index; in dsa_user_dcbnl_set_apptrust()
2205 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_get_apptrust() local
2206 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_get_apptrust()
2207 int port = dp->index; in dsa_user_dcbnl_get_apptrust()
2218 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_set_default_prio() local
2219 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_default_prio()
2221 int err, port = dp->index; in dsa_user_dcbnl_set_default_prio()
2249 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_ieee_global_dscp_setdel() local
2250 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_ieee_global_dscp_setdel()
2297 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_add_dscp_prio() local
2298 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_add_dscp_prio()
2300 int err, port = dp->index; in dsa_user_dcbnl_add_dscp_prio()
2361 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_del_default_prio() local
2362 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_default_prio()
2364 int err, port = dp->index; in dsa_user_dcbnl_del_default_prio()
2388 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_del_dscp_prio() local
2389 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_dscp_prio()
2390 int err, port = dp->index; in dsa_user_dcbnl_del_dscp_prio()
2445 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_dcbnl_init() local
2446 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_init()
2447 int port = dp->index; in dsa_user_dcbnl_init()
2538 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_get_stats64() local
2539 struct dsa_switch *ds = dp->ds; in dsa_user_get_stats64()
2542 ds->ops->get_stats64(ds, dp->index, s); in dsa_user_get_stats64()
2550 struct dsa_port *dp = dsa_user_to_port(ctx->dev); in dsa_user_fill_forward_path() local
2551 struct net_device *conduit = dsa_port_to_conduit(dp); in dsa_user_fill_forward_path()
2552 struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_fill_forward_path()
2557 path->dsa.port = dp->index; in dsa_user_fill_forward_path()
2566 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_hwtstamp_get() local
2567 struct dsa_switch *ds = dp->ds; in dsa_user_hwtstamp_get()
2572 return ds->ops->port_hwtstamp_get(ds, dp->index, cfg); in dsa_user_hwtstamp_get()
2579 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_hwtstamp_set() local
2580 struct dsa_switch *ds = dp->ds; in dsa_user_hwtstamp_set()
2585 return ds->ops->port_hwtstamp_set(ds, dp->index, cfg, extack); in dsa_user_hwtstamp_set()
2619 const struct dsa_port *dp = dsa_to_port(ds, port); in dsa_port_phylink_mac_change() local
2621 if (dp->pl) in dsa_port_phylink_mac_change()
2622 phylink_mac_change(dp->pl, up); in dsa_port_phylink_mac_change()
2629 struct dsa_port *dp = dsa_phylink_to_port(config); in dsa_user_phylink_fixed_state() local
2630 struct dsa_switch *ds = dp->ds; in dsa_user_phylink_fixed_state()
2635 ds->ops->phylink_fixed_state(ds, dp->index, state); in dsa_user_phylink_fixed_state()
2642 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_connect() local
2643 struct dsa_switch *ds = dp->ds; in dsa_user_phy_connect()
2653 return phylink_connect_phy(dp->pl, user_dev->phydev); in dsa_user_phy_connect()
2658 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_setup() local
2659 struct device_node *port_dn = dp->dn; in dsa_user_phy_setup()
2660 struct dsa_switch *ds = dp->ds; in dsa_user_phy_setup()
2664 dp->pl_config.dev = &user_dev->dev; in dsa_user_phy_setup()
2665 dp->pl_config.type = PHYLINK_NETDEV; in dsa_user_phy_setup()
2672 dp->pl_config.get_fixed_state = dsa_user_phylink_fixed_state; in dsa_user_phy_setup()
2673 dp->pl_config.poll_fixed_state = true; in dsa_user_phy_setup()
2676 ret = dsa_port_phylink_create(dp); in dsa_user_phy_setup()
2681 phy_flags = ds->ops->get_phy_flags(ds, dp->index); in dsa_user_phy_setup()
2683 ret = phylink_of_phy_connect(dp->pl, port_dn, phy_flags); in dsa_user_phy_setup()
2688 ret = dsa_user_phy_connect(user_dev, dp->index, phy_flags); in dsa_user_phy_setup()
2693 dsa_port_phylink_destroy(dp); in dsa_user_phy_setup()
2701 struct dsa_port *dp = dsa_user_to_port(user); in dsa_user_setup_tagger() local
2702 struct net_device *conduit = dsa_port_to_conduit(dp); in dsa_user_setup_tagger()
2704 const struct dsa_port *cpu_dp = dp->cpu_dp; in dsa_user_setup_tagger()
2705 const struct dsa_switch *ds = dp->ds; in dsa_user_setup_tagger()
2730 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_suspend() local
2738 phylink_stop(dp->pl); in dsa_user_suspend()
2746 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_resume() local
2754 phylink_start(dp->pl); in dsa_user_resume()
2816 p->dp = port; in dsa_user_create()
2870 phylink_disconnect_phy(p->dp->pl); in dsa_user_create()
2872 dsa_port_phylink_destroy(p->dp); in dsa_user_create()
2884 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_destroy() local
2891 phylink_disconnect_phy(dp->pl); in dsa_user_destroy()
2894 dsa_port_phylink_destroy(dp); in dsa_user_destroy()
2903 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_change_conduit() local
2904 struct dsa_switch *ds = dp->ds; in dsa_user_change_conduit()
2949 err = dsa_port_change_conduit(dp, conduit, extack); in dsa_user_change_conduit()
2981 struct dsa_port *dp; in dsa_user_changeupper() local
2986 dp = dsa_user_to_port(dev); in dsa_user_changeupper()
2991 err = dsa_port_bridge_join(dp, info->upper_dev, extack); in dsa_user_changeupper()
2993 dsa_bridge_mtu_normalization(dp); in dsa_user_changeupper()
3001 dsa_port_bridge_leave(dp, info->upper_dev); in dsa_user_changeupper()
3006 err = dsa_port_lag_join(dp, info->upper_dev, in dsa_user_changeupper()
3015 dsa_port_lag_leave(dp, info->upper_dev); in dsa_user_changeupper()
3020 err = dsa_port_hsr_join(dp, info->upper_dev, extack); in dsa_user_changeupper()
3028 dsa_port_hsr_leave(dp, info->upper_dev); in dsa_user_changeupper()
3039 struct dsa_port *dp; in dsa_user_prechangeupper() local
3044 dp = dsa_user_to_port(dev); in dsa_user_prechangeupper()
3047 dsa_port_pre_bridge_leave(dp, info->upper_dev); in dsa_user_prechangeupper()
3049 dsa_port_pre_lag_leave(dp, info->upper_dev); in dsa_user_prechangeupper()
3064 struct dsa_port *dp; in dsa_user_lag_changeupper() local
3073 dp = dsa_user_to_port(lower); in dsa_user_lag_changeupper()
3074 if (!dp->lag) in dsa_user_lag_changeupper()
3096 struct dsa_port *dp; in dsa_user_lag_prechangeupper() local
3105 dp = dsa_user_to_port(lower); in dsa_user_lag_prechangeupper()
3106 if (!dp->lag) in dsa_user_lag_prechangeupper()
3124 struct dsa_port *dp; in dsa_prevent_bridging_8021q_upper() local
3135 dp = dsa_user_to_port(user); in dsa_prevent_bridging_8021q_upper()
3136 br = dsa_port_bridge_dev_get(dp); in dsa_prevent_bridging_8021q_upper()
3155 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_check_8021q_upper() local
3156 struct net_device *br = dsa_port_bridge_dev_get(dp); in dsa_user_check_8021q_upper()
3187 struct dsa_port *dp; in dsa_user_prechangeupper_sanity_check() local
3193 dp = dsa_user_to_port(dev); in dsa_user_prechangeupper_sanity_check()
3194 ds = dp->ds; in dsa_user_prechangeupper_sanity_check()
3197 err = ds->ops->port_prechangeupper(ds, dp->index, info); in dsa_user_prechangeupper_sanity_check()
3353 struct dsa_port *dp; in dsa_tree_migrate_ports_from_lag_conduit() local
3356 dsa_tree_for_each_user_port(dp, dst) { in dsa_tree_migrate_ports_from_lag_conduit()
3357 if (dsa_port_to_conduit(dp) != lag_dev) in dsa_tree_migrate_ports_from_lag_conduit()
3360 err = dsa_user_change_conduit(dp->user, new_conduit, NULL); in dsa_tree_migrate_ports_from_lag_conduit()
3362 netdev_err(dp->user, in dsa_tree_migrate_ports_from_lag_conduit()
3376 struct dsa_port *dp; in dsa_conduit_lag_join() local
3383 dsa_tree_for_each_user_port(dp, dst) { in dsa_conduit_lag_join()
3384 if (dsa_port_to_conduit(dp) != conduit) in dsa_conduit_lag_join()
3387 err = dsa_user_change_conduit(dp->user, lag_dev, extack); in dsa_conduit_lag_join()
3395 dsa_tree_for_each_user_port_continue_reverse(dp, dst) { in dsa_conduit_lag_join()
3396 if (dsa_port_to_conduit(dp) != lag_dev) in dsa_conduit_lag_join()
3399 err = dsa_user_change_conduit(dp->user, conduit, NULL); in dsa_conduit_lag_join()
3401 netdev_err(dp->user, in dsa_conduit_lag_join()
3415 struct dsa_port *dp, *cpu_dp = lag_dev->dsa_ptr; in dsa_conduit_lag_leave() local
3432 dsa_tree_for_each_user_port(dp, dst) in dsa_conduit_lag_leave()
3433 if (dsa_port_to_conduit(dp) == lag_dev) in dsa_conduit_lag_leave()
3434 dp->cpu_dp = new_cpu_dp; in dsa_conduit_lag_leave()
3534 struct dsa_port *dp; in dsa_user_netdevice_event() local
3538 dp = dsa_user_to_port(dev); in dsa_user_netdevice_event()
3540 err = dsa_port_lag_change(dp, info->lower_state_info); in dsa_user_netdevice_event()
3547 dp = dev->dsa_ptr; in dsa_user_netdevice_event()
3549 err = dsa_port_lag_change(dp, info->lower_state_info); in dsa_user_netdevice_event()
3585 struct dsa_port *dp, *cpu_dp; in dsa_user_netdevice_event() local
3597 list_for_each_entry(dp, &dst->ports, list) { in dsa_user_netdevice_event()
3598 if (!dsa_port_is_user(dp)) in dsa_user_netdevice_event()
3601 if (dp->cpu_dp != cpu_dp) in dsa_user_netdevice_event()
3604 list_add(&dp->user->close_list, &close_list); in dsa_user_netdevice_event()
3638 struct dsa_port *dp; in dsa_user_switchdev_event_work() local
3641 dp = dsa_user_to_port(dev); in dsa_user_switchdev_event_work()
3642 ds = dp->ds; in dsa_user_switchdev_event_work()
3647 err = dsa_port_bridge_host_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3648 else if (dp->lag) in dsa_user_switchdev_event_work()
3649 err = dsa_port_lag_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3651 err = dsa_port_fdb_add(dp, addr, vid); in dsa_user_switchdev_event_work()
3655 dp->index, addr, vid, err); in dsa_user_switchdev_event_work()
3663 err = dsa_port_bridge_host_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3664 else if (dp->lag) in dsa_user_switchdev_event_work()
3665 err = dsa_port_lag_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3667 err = dsa_port_fdb_del(dp, addr, vid); in dsa_user_switchdev_event_work()
3671 dp->index, addr, vid, err); in dsa_user_switchdev_event_work()
3683 const struct dsa_port *dp = dsa_user_to_port(dev); in dsa_foreign_dev_check() local
3684 struct dsa_switch_tree *dst = dp->ds->dst; in dsa_foreign_dev_check()
3702 struct dsa_port *dp = dsa_user_to_port(dev); in dsa_user_fdb_event() local
3704 struct dsa_switch *ds = dp->ds; in dsa_user_fdb_event()
3706 if (ctx && ctx != dp) in dsa_user_fdb_event()
3709 if (!dp->bridge) in dsa_user_fdb_event()
3713 if (dsa_port_offloads_bridge_port(dp, orig_dev)) in dsa_user_fdb_event()
3734 if (dp->lag && !host_addr) { in dsa_user_fdb_event()