Lines Matching full:ds

68 static bool dsa_switch_supports_uc_filtering(struct dsa_switch *ds)  in dsa_switch_supports_uc_filtering()  argument
70 return ds->ops->port_fdb_add && ds->ops->port_fdb_del && in dsa_switch_supports_uc_filtering()
71 ds->fdb_isolation && !ds->vlan_filtering_is_global && in dsa_switch_supports_uc_filtering()
72 !ds->needs_standalone_vlan_filtering; in dsa_switch_supports_uc_filtering()
75 static bool dsa_switch_supports_mc_filtering(struct dsa_switch *ds) in dsa_switch_supports_mc_filtering() argument
77 return ds->ops->port_mdb_add && ds->ops->port_mdb_del && in dsa_switch_supports_mc_filtering()
78 ds->fdb_isolation && !ds->vlan_filtering_is_global && in dsa_switch_supports_mc_filtering()
79 !ds->needs_standalone_vlan_filtering; in dsa_switch_supports_mc_filtering()
90 struct dsa_switch *ds = dp->ds; in dsa_user_standalone_event_work() local
98 dev_err(ds->dev, in dsa_user_standalone_event_work()
108 dev_err(ds->dev, in dsa_user_standalone_event_work()
120 dev_err(ds->dev, in dsa_user_standalone_event_work()
132 dev_err(ds->dev, in dsa_user_standalone_event_work()
209 if (!dsa_switch_supports_uc_filtering(dp->ds)) in dsa_user_sync_uc()
229 if (!dsa_switch_supports_uc_filtering(dp->ds)) in dsa_user_unsync_uc()
249 if (!dsa_switch_supports_mc_filtering(dp->ds)) in dsa_user_sync_mc()
269 if (!dsa_switch_supports_mc_filtering(dp->ds)) in dsa_user_unsync_mc()
279 struct dsa_switch *ds = dp->ds; in dsa_user_sync_ha() local
292 if (dsa_switch_supports_uc_filtering(ds) || in dsa_user_sync_ha()
293 dsa_switch_supports_mc_filtering(ds)) in dsa_user_sync_ha()
300 struct dsa_switch *ds = dp->ds; in dsa_user_unsync_ha() local
313 if (dsa_switch_supports_uc_filtering(ds) || in dsa_user_unsync_ha()
314 dsa_switch_supports_mc_filtering(ds)) in dsa_user_unsync_ha()
321 struct dsa_switch *ds = bus->priv; in dsa_user_phy_read() local
323 if (ds->phys_mii_mask & (1 << addr)) in dsa_user_phy_read()
324 return ds->ops->phy_read(ds, addr, reg); in dsa_user_phy_read()
331 struct dsa_switch *ds = bus->priv; in dsa_user_phy_write() local
333 if (ds->phys_mii_mask & (1 << addr)) in dsa_user_phy_write()
334 return ds->ops->phy_write(ds, addr, reg, val); in dsa_user_phy_write()
339 void dsa_user_mii_bus_init(struct dsa_switch *ds) in dsa_user_mii_bus_init() argument
341 ds->user_mii_bus->priv = (void *)ds; in dsa_user_mii_bus_init()
342 ds->user_mii_bus->name = "dsa user smi"; in dsa_user_mii_bus_init()
343 ds->user_mii_bus->read = dsa_user_phy_read; in dsa_user_mii_bus_init()
344 ds->user_mii_bus->write = dsa_user_phy_write; in dsa_user_mii_bus_init()
345 snprintf(ds->user_mii_bus->id, MII_BUS_ID_SIZE, "dsa-%d.%d", in dsa_user_mii_bus_init()
346 ds->dst->index, ds->index); in dsa_user_mii_bus_init()
347 ds->user_mii_bus->parent = ds->dev; in dsa_user_mii_bus_init()
348 ds->user_mii_bus->phy_mask = ~ds->phys_mii_mask; in dsa_user_mii_bus_init()
362 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_install() local
365 if (dsa_switch_supports_uc_filtering(ds)) { in dsa_user_host_uc_install()
380 if (dsa_switch_supports_uc_filtering(ds)) in dsa_user_host_uc_install()
390 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_uninstall() local
395 if (dsa_switch_supports_uc_filtering(ds)) in dsa_user_host_uc_uninstall()
451 struct dsa_switch *ds = dp->ds; in dsa_user_change_rx_flags() local
460 if (dsa_switch_supports_uc_filtering(ds) && in dsa_user_change_rx_flags()
461 dsa_switch_supports_mc_filtering(ds)) in dsa_user_change_rx_flags()
474 struct dsa_switch *ds = dp->ds; in dsa_user_set_mac_address() local
481 if (ds->ops->port_set_mac_address) { in dsa_user_set_mac_address()
482 err = ds->ops->port_set_mac_address(ds, dp->index, in dsa_user_set_mac_address()
884 struct dsa_switch *ds = p->dp->ds; in dsa_skb_tx_timestamp() local
889 if (!ds->ops->port_txtstamp) in dsa_skb_tx_timestamp()
892 ds->ops->port_txtstamp(ds, p->dp->index, skb); in dsa_skb_tx_timestamp()
962 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs_len() local
964 if (ds->ops->get_regs_len) in dsa_user_get_regs_len()
965 return ds->ops->get_regs_len(ds, dp->index); in dsa_user_get_regs_len()
974 struct dsa_switch *ds = dp->ds; in dsa_user_get_regs() local
976 if (ds->ops->get_regs) in dsa_user_get_regs()
977 ds->ops->get_regs(ds, dp->index, regs, _p); in dsa_user_get_regs()
990 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom_len() local
992 if (ds->cd && ds->cd->eeprom_len) in dsa_user_get_eeprom_len()
993 return ds->cd->eeprom_len; in dsa_user_get_eeprom_len()
995 if (ds->ops->get_eeprom_len) in dsa_user_get_eeprom_len()
996 return ds->ops->get_eeprom_len(ds); in dsa_user_get_eeprom_len()
1005 struct dsa_switch *ds = dp->ds; in dsa_user_get_eeprom() local
1007 if (ds->ops->get_eeprom) in dsa_user_get_eeprom()
1008 return ds->ops->get_eeprom(ds, eeprom, data); in dsa_user_get_eeprom()
1017 struct dsa_switch *ds = dp->ds; in dsa_user_set_eeprom() local
1019 if (ds->ops->set_eeprom) in dsa_user_set_eeprom()
1020 return ds->ops->set_eeprom(ds, eeprom, data); in dsa_user_set_eeprom()
1029 struct dsa_switch *ds = dp->ds; in dsa_user_get_strings() local
1036 if (ds->ops->get_strings) in dsa_user_get_strings()
1037 ds->ops->get_strings(ds, dp->index, stringset, data); in dsa_user_get_strings()
1049 struct dsa_switch *ds = dp->ds; in dsa_user_get_ethtool_stats() local
1070 if (ds->ops->get_ethtool_stats) in dsa_user_get_ethtool_stats()
1071 ds->ops->get_ethtool_stats(ds, dp->index, data + 4); in dsa_user_get_ethtool_stats()
1077 struct dsa_switch *ds = dp->ds; in dsa_user_get_sset_count() local
1082 if (ds->ops->get_sset_count) { in dsa_user_get_sset_count()
1083 count = ds->ops->get_sset_count(ds, dp->index, sset); in dsa_user_get_sset_count()
1100 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_phy_stats() local
1102 if (ds->ops->get_eth_phy_stats) 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()
1110 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_mac_stats() local
1112 if (ds->ops->get_eth_mac_stats) 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()
1121 struct dsa_switch *ds = dp->ds; in dsa_user_get_eth_ctrl_stats() local
1123 if (ds->ops->get_eth_ctrl_stats) 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()
1133 struct dsa_switch *ds = dp->ds; in dsa_user_get_rmon_stats() local
1135 if (ds->ops->get_rmon_stats) in dsa_user_get_rmon_stats()
1136 ds->ops->get_rmon_stats(ds, dp->index, rmon_stats, ranges); in dsa_user_get_rmon_stats()
1143 struct dsa_switch *ds = dp->ds; in dsa_user_get_ts_stats() local
1145 if (ds->ops->get_ts_stats) in dsa_user_get_ts_stats()
1146 ds->ops->get_ts_stats(ds, dp->index, ts_stats); in dsa_user_get_ts_stats()
1153 struct dsa_switch *ds = dp->ds; in dsa_user_net_selftest() local
1155 if (ds->ops->self_test) { in dsa_user_net_selftest()
1156 ds->ops->self_test(ds, dp->index, etest, buf); in dsa_user_net_selftest()
1167 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm() local
1169 if (!ds->ops->get_mm) in dsa_user_get_mm()
1172 return ds->ops->get_mm(ds, dp->index, state); in dsa_user_get_mm()
1179 struct dsa_switch *ds = dp->ds; in dsa_user_set_mm() local
1181 if (!ds->ops->set_mm) in dsa_user_set_mm()
1184 return ds->ops->set_mm(ds, dp->index, cfg, extack); in dsa_user_set_mm()
1191 struct dsa_switch *ds = dp->ds; in dsa_user_get_mm_stats() local
1193 if (ds->ops->get_mm_stats) in dsa_user_get_mm_stats()
1194 ds->ops->get_mm_stats(ds, dp->index, stats); in dsa_user_get_mm_stats()
1200 struct dsa_switch *ds = dp->ds; in dsa_user_get_wol() local
1204 if (ds->ops->get_wol) in dsa_user_get_wol()
1205 ds->ops->get_wol(ds, dp->index, w); in dsa_user_get_wol()
1211 struct dsa_switch *ds = dp->ds; in dsa_user_set_wol() local
1216 if (ds->ops->set_wol) in dsa_user_set_wol()
1217 ret = ds->ops->set_wol(ds, dp->index, w); in dsa_user_set_wol()
1225 struct dsa_switch *ds = dp->ds; in dsa_user_set_eee() local
1229 if (!ds->ops->support_eee || !ds->ops->support_eee(ds, dp->index)) in dsa_user_set_eee()
1235 if (!phylink_mac_implements_lpi(ds->phylink_mac_ops)) { in dsa_user_set_eee()
1240 if (!ds->ops->set_mac_eee) in dsa_user_set_eee()
1243 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_user_set_eee()
1246 } else if (ds->ops->set_mac_eee) { in dsa_user_set_eee()
1247 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_user_set_eee()
1258 struct dsa_switch *ds = dp->ds; in dsa_user_get_eee() local
1261 if (!ds->ops->support_eee || !ds->ops->support_eee(ds, dp->index)) in dsa_user_get_eee()
1291 struct dsa_switch *ds = dp->ds; in dsa_user_get_pause_stats() local
1293 if (ds->ops->get_pause_stats) in dsa_user_get_pause_stats()
1294 ds->ops->get_pause_stats(ds, dp->index, pause_stats); in dsa_user_get_pause_stats()
1377 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_mirred() local
1388 if (!ds->ops->port_mirror_add) { 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()
1464 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_matchall_police() local
1468 if (!ds->ops->port_policer_add) { in dsa_user_add_cls_matchall_police()
1502 err = ds->ops->port_policer_add(ds, dp->index, policer); in dsa_user_add_cls_matchall_police()
1548 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_matchall() local
1558 if (ds->ops->port_mirror_del) in dsa_user_del_cls_matchall()
1559 ds->ops->port_mirror_del(ds, dp->index, in dsa_user_del_cls_matchall()
1563 if (ds->ops->port_policer_del) in dsa_user_del_cls_matchall()
1564 ds->ops->port_policer_del(ds, dp->index); in dsa_user_del_cls_matchall()
1596 struct dsa_switch *ds = dp->ds; in dsa_user_add_cls_flower() local
1599 if (!ds->ops->cls_flower_add) in dsa_user_add_cls_flower()
1602 return ds->ops->cls_flower_add(ds, port, cls, ingress); in dsa_user_add_cls_flower()
1610 struct dsa_switch *ds = dp->ds; in dsa_user_del_cls_flower() local
1613 if (!ds->ops->cls_flower_del) in dsa_user_del_cls_flower()
1616 return ds->ops->cls_flower_del(ds, port, cls, ingress); in dsa_user_del_cls_flower()
1624 struct dsa_switch *ds = dp->ds; in dsa_user_stats_cls_flower() local
1627 if (!ds->ops->cls_flower_stats) in dsa_user_stats_cls_flower()
1630 return ds->ops->cls_flower_stats(ds, port, cls, ingress); in dsa_user_stats_cls_flower()
1721 static int dsa_user_setup_ft_block(struct dsa_switch *ds, int port, in dsa_user_setup_ft_block() argument
1724 struct net_device *conduit = dsa_port_to_conduit(dsa_to_port(ds, port)); in dsa_user_setup_ft_block()
1736 struct dsa_switch *ds = dp->ds; in dsa_user_setup_tc() local
1742 return dsa_user_setup_ft_block(ds, dp->index, type_data); in dsa_user_setup_tc()
1747 if (!ds->ops->port_setup_tc) in dsa_user_setup_tc()
1750 return ds->ops->port_setup_tc(ds, dp->index, type, type_data); in dsa_user_setup_tc()
1757 struct dsa_switch *ds = dp->ds; in dsa_user_get_rxnfc() local
1759 if (!ds->ops->get_rxnfc) in dsa_user_get_rxnfc()
1762 return ds->ops->get_rxnfc(ds, dp->index, nfc, rule_locs); in dsa_user_get_rxnfc()
1769 struct dsa_switch *ds = dp->ds; in dsa_user_set_rxnfc() local
1771 if (!ds->ops->set_rxnfc) in dsa_user_set_rxnfc()
1774 return ds->ops->set_rxnfc(ds, dp->index, nfc); in dsa_user_set_rxnfc()
1781 struct dsa_switch *ds = p->dp->ds; in dsa_user_get_ts_info() local
1783 if (!ds->ops->get_ts_info) in dsa_user_get_ts_info()
1786 return ds->ops->get_ts_info(ds, p->dp->index, ts); in dsa_user_get_ts_info()
1800 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_add_vid() local
1822 if (!dsa_switch_supports_uc_filtering(ds) && in dsa_user_vlan_rx_add_vid()
1823 !dsa_switch_supports_mc_filtering(ds)) in dsa_user_vlan_rx_add_vid()
1837 if (dsa_switch_supports_mc_filtering(ds)) { in dsa_user_vlan_rx_add_vid()
1844 if (dsa_switch_supports_uc_filtering(ds)) { in dsa_user_vlan_rx_add_vid()
1873 struct dsa_switch *ds = dp->ds; in dsa_user_vlan_rx_kill_vid() local
1886 if (!dsa_switch_supports_uc_filtering(ds) && in dsa_user_vlan_rx_kill_vid()
1887 !dsa_switch_supports_mc_filtering(ds)) in dsa_user_vlan_rx_kill_vid()
1901 if (dsa_switch_supports_mc_filtering(ds)) { in dsa_user_vlan_rx_kill_vid()
1908 if (dsa_switch_supports_uc_filtering(ds)) { in dsa_user_vlan_rx_kill_vid()
1941 * If ds->vlan_filtering_is_global = true, then standalone ports which share
1948 * - if ds->needs_standalone_vlan_filtering = true, OR if
1949 * (ds->vlan_filtering_is_global = true AND there are bridges spanning
1957 * - if ds->configure_vlan_while_not_filtering = true (default):
2043 if (!dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
2065 if (!other_dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
2107 struct dsa_switch *ds = dp->ds; in dsa_user_change_mtu() local
2117 if (!ds->ops->port_change_mtu) in dsa_user_change_mtu()
2120 dsa_tree_for_each_user_port(other_dp, ds->dst) { in dsa_user_change_mtu()
2168 err = ds->ops->port_change_mtu(ds, dp->index, new_mtu); in dsa_user_change_mtu()
2192 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_apptrust() local
2195 if (!ds->ops->port_set_apptrust) in dsa_user_dcbnl_set_apptrust()
2198 return ds->ops->port_set_apptrust(ds, port, sel, nsel); in dsa_user_dcbnl_set_apptrust()
2205 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_get_apptrust() local
2208 if (!ds->ops->port_get_apptrust) in dsa_user_dcbnl_get_apptrust()
2211 return ds->ops->port_get_apptrust(ds, port, sel, nsel); in dsa_user_dcbnl_get_apptrust()
2218 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_set_default_prio() local
2222 if (!ds->ops->port_set_default_prio) in dsa_user_dcbnl_set_default_prio()
2232 err = ds->ops->port_set_default_prio(ds, port, new_prio); in dsa_user_dcbnl_set_default_prio()
2249 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_ieee_global_dscp_setdel() local
2258 dsa_switch_for_each_user_port(other_dp, ds) { in dsa_user_dcbnl_ieee_global_dscp_setdel()
2279 dsa_switch_for_each_user_port_continue_reverse(other_dp, ds) { in dsa_user_dcbnl_ieee_global_dscp_setdel()
2297 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_add_dscp_prio() local
2302 if (!ds->ops->port_add_dscp_prio) in dsa_user_dcbnl_add_dscp_prio()
2318 err = ds->ops->port_add_dscp_prio(ds, port, dscp, new_prio); in dsa_user_dcbnl_add_dscp_prio()
2324 if (!ds->dscp_prio_mapping_is_global) in dsa_user_dcbnl_add_dscp_prio()
2329 if (ds->ops->port_del_dscp_prio) in dsa_user_dcbnl_add_dscp_prio()
2330 ds->ops->port_del_dscp_prio(ds, port, dscp, new_prio); in dsa_user_dcbnl_add_dscp_prio()
2361 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_default_prio() local
2365 if (!ds->ops->port_set_default_prio) in dsa_user_dcbnl_del_default_prio()
2375 err = ds->ops->port_set_default_prio(ds, port, new_prio); in dsa_user_dcbnl_del_default_prio()
2388 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_del_dscp_prio() local
2392 if (!ds->ops->port_del_dscp_prio) in dsa_user_dcbnl_del_dscp_prio()
2399 err = ds->ops->port_del_dscp_prio(ds, port, dscp, app->priority); in dsa_user_dcbnl_del_dscp_prio()
2405 if (!ds->dscp_prio_mapping_is_global) in dsa_user_dcbnl_del_dscp_prio()
2410 if (ds->ops->port_add_dscp_prio) in dsa_user_dcbnl_del_dscp_prio()
2411 ds->ops->port_add_dscp_prio(ds, port, dscp, in dsa_user_dcbnl_del_dscp_prio()
2445 struct dsa_switch *ds = dp->ds; in dsa_user_dcbnl_init() local
2449 if (ds->ops->port_get_default_prio) { in dsa_user_dcbnl_init()
2450 int prio = ds->ops->port_get_default_prio(ds, port); in dsa_user_dcbnl_init()
2465 if (ds->ops->port_get_dscp_prio) { in dsa_user_dcbnl_init()
2475 prio = ds->ops->port_get_dscp_prio(ds, port, protocol); in dsa_user_dcbnl_init()
2538 struct dsa_switch *ds = dp->ds; in dsa_user_get_stats64() local
2540 if (ds->ops->get_stats64) in dsa_user_get_stats64()
2541 ds->ops->get_stats64(ds, dp->index, s); in dsa_user_get_stats64()
2566 struct dsa_switch *ds = dp->ds; in dsa_user_hwtstamp_get() local
2568 if (!ds->ops->port_hwtstamp_get) in dsa_user_hwtstamp_get()
2571 return ds->ops->port_hwtstamp_get(ds, dp->index, cfg); in dsa_user_hwtstamp_get()
2579 struct dsa_switch *ds = dp->ds; in dsa_user_hwtstamp_set() local
2581 if (!ds->ops->port_hwtstamp_set) in dsa_user_hwtstamp_set()
2584 return ds->ops->port_hwtstamp_set(ds, dp->index, cfg, extack); in dsa_user_hwtstamp_set()
2616 void dsa_port_phylink_mac_change(struct dsa_switch *ds, int port, bool up) in dsa_port_phylink_mac_change() argument
2618 const struct dsa_port *dp = dsa_to_port(ds, port); in dsa_port_phylink_mac_change()
2629 struct dsa_switch *ds = dp->ds; in dsa_user_phylink_fixed_state() local
2634 ds->ops->phylink_fixed_state(ds, dp->index, state); in dsa_user_phylink_fixed_state()
2642 struct dsa_switch *ds = dp->ds; in dsa_user_phy_connect() local
2644 user_dev->phydev = mdiobus_get_phy(ds->user_mii_bus, addr); in dsa_user_phy_connect()
2659 struct dsa_switch *ds = dp->ds; in dsa_user_phy_setup() local
2670 if (ds->ops->phylink_fixed_state) { in dsa_user_phy_setup()
2679 if (ds->ops->get_phy_flags) in dsa_user_phy_setup()
2680 phy_flags = ds->ops->get_phy_flags(ds, dp->index); in dsa_user_phy_setup()
2683 if (ret == -ENODEV && ds->user_mii_bus) { in dsa_user_phy_setup()
2704 const struct dsa_switch *ds = dp->ds; in dsa_user_setup_tagger() local
2721 if (ds->needs_standalone_vlan_filtering) in dsa_user_setup_tagger()
2762 struct dsa_switch *ds = port->ds; in dsa_user_create() local
2769 if (!ds->num_tx_queues) in dsa_user_create()
2770 ds->num_tx_queues = 1; in dsa_user_create()
2782 ds->num_tx_queues, 1); in dsa_user_create()
2796 if (dsa_switch_supports_uc_filtering(ds)) in dsa_user_create()
2799 if (ds->ops->port_max_mtu) in dsa_user_create()
2800 user_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index); in dsa_user_create()
2803 SET_NETDEV_DEV(user_dev, port->ds->dev); in dsa_user_create()
2826 ret, ds->dst->index, ds->index, port->index); in dsa_user_create()
2834 dev_warn(ds->dev, "nonfatal error %d setting MTU to %d on port %d\n", in dsa_user_create()
2903 struct dsa_switch *ds = dp->ds; in dsa_user_change_conduit() local
2911 if (!ds->ops->port_change_conduit) { in dsa_user_change_conduit()
3185 struct dsa_switch *ds; in dsa_user_prechangeupper_sanity_check() local
3193 ds = dp->ds; in dsa_user_prechangeupper_sanity_check()
3195 if (ds->ops->port_prechangeupper) { in dsa_user_prechangeupper_sanity_check()
3196 err = ds->ops->port_prechangeupper(ds, dp->index, info); in dsa_user_prechangeupper_sanity_check()
3561 struct dsa_switch_tree *dst = cpu_dp->ds->dst; in dsa_user_netdevice_event()
3592 dst = cpu_dp->ds->dst; in dsa_user_netdevice_event()
3636 struct dsa_switch *ds; in dsa_user_switchdev_event_work() local
3641 ds = dp->ds; in dsa_user_switchdev_event_work()
3652 dev_err(ds->dev, in dsa_user_switchdev_event_work()
3668 dev_err(ds->dev, in dsa_user_switchdev_event_work()
3683 struct dsa_switch_tree *dst = dp->ds->dst; in dsa_foreign_dev_check()
3703 struct dsa_switch *ds = dp->ds; in dsa_user_fdb_event() local
3719 if (!ds->assisted_learning_on_cpu_port) in dsa_user_fdb_event()
3734 if (!ds->ops->lag_fdb_add || !ds->ops->lag_fdb_del) in dsa_user_fdb_event()
3737 if (!ds->ops->port_fdb_add || !ds->ops->port_fdb_del) in dsa_user_fdb_event()