Lines Matching full:ds
45 static int felix_cpu_port_for_master(struct dsa_switch *ds, in felix_cpu_port_for_master() argument
48 struct ocelot *ocelot = ds->priv; in felix_cpu_port_for_master()
67 static int felix_tag_8021q_vlan_add_rx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_add_rx() argument
71 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_add_rx()
107 static int felix_tag_8021q_vlan_del_rx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_del_rx() argument
112 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_del_rx()
129 static int felix_tag_8021q_vlan_add_tx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_add_tx() argument
133 unsigned long cpu_ports = dsa_cpu_ports(ds); in felix_tag_8021q_vlan_add_tx()
134 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_add_tx()
196 static int felix_tag_8021q_vlan_del_tx(struct dsa_switch *ds, int port, u16 vid) in felix_tag_8021q_vlan_del_tx() argument
201 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_vlan_del_tx()
227 static int felix_tag_8021q_vlan_add(struct dsa_switch *ds, int port, u16 vid, in felix_tag_8021q_vlan_add() argument
237 if (!dsa_is_user_port(ds, port)) in felix_tag_8021q_vlan_add()
240 dsa_switch_for_each_cpu_port(cpu_dp, ds) { in felix_tag_8021q_vlan_add()
241 err = felix_tag_8021q_vlan_add_rx(ds, port, cpu_dp->index, vid); in felix_tag_8021q_vlan_add()
246 err = felix_tag_8021q_vlan_add_tx(ds, port, vid); in felix_tag_8021q_vlan_add()
253 dsa_switch_for_each_cpu_port(cpu_dp, ds) in felix_tag_8021q_vlan_add()
254 felix_tag_8021q_vlan_del_rx(ds, port, cpu_dp->index, vid); in felix_tag_8021q_vlan_add()
259 static int felix_tag_8021q_vlan_del(struct dsa_switch *ds, int port, u16 vid) in felix_tag_8021q_vlan_del() argument
264 if (!dsa_is_user_port(ds, port)) in felix_tag_8021q_vlan_del()
267 dsa_switch_for_each_cpu_port(cpu_dp, ds) { in felix_tag_8021q_vlan_del()
268 err = felix_tag_8021q_vlan_del_rx(ds, port, cpu_dp->index, vid); in felix_tag_8021q_vlan_del()
273 err = felix_tag_8021q_vlan_del_tx(ds, port, vid); in felix_tag_8021q_vlan_del()
280 dsa_switch_for_each_cpu_port(cpu_dp, ds) in felix_tag_8021q_vlan_del()
281 felix_tag_8021q_vlan_add_rx(ds, port, cpu_dp->index, vid); in felix_tag_8021q_vlan_del()
286 static int felix_trap_get_cpu_port(struct dsa_switch *ds, in felix_trap_get_cpu_port() argument
296 dp = dsa_to_port(ds, first_port); in felix_trap_get_cpu_port()
305 static int felix_update_trapping_destinations(struct dsa_switch *ds, in felix_update_trapping_destinations() argument
308 struct ocelot *ocelot = ds->priv; in felix_update_trapping_destinations()
337 port_mask = BIT(felix_trap_get_cpu_port(ds, trap)); in felix_update_trapping_destinations()
408 static int felix_tag_npi_setup(struct dsa_switch *ds) in felix_tag_npi_setup() argument
411 struct ocelot *ocelot = ds->priv; in felix_tag_npi_setup()
413 dsa_switch_for_each_user_port(dp, ds) { in felix_tag_npi_setup()
415 dev_err(ds->dev, "Multiple NPI ports not supported\n"); in felix_tag_npi_setup()
430 static void felix_tag_npi_teardown(struct dsa_switch *ds) in felix_tag_npi_teardown() argument
432 struct ocelot *ocelot = ds->priv; in felix_tag_npi_teardown()
437 static unsigned long felix_tag_npi_get_host_fwd_mask(struct dsa_switch *ds) in felix_tag_npi_get_host_fwd_mask() argument
439 struct ocelot *ocelot = ds->priv; in felix_tag_npi_get_host_fwd_mask()
444 static int felix_tag_npi_change_master(struct dsa_switch *ds, int port, in felix_tag_npi_change_master() argument
448 struct dsa_port *dp = dsa_to_port(ds, port), *other_dp; in felix_tag_npi_change_master()
449 struct ocelot *ocelot = ds->priv; in felix_tag_npi_change_master()
461 dsa_switch_for_each_user_port(other_dp, ds) { in felix_tag_npi_change_master()
473 felix_npi_port_init(ocelot, felix_cpu_port_for_master(ds, master)); in felix_tag_npi_change_master()
492 static int felix_tag_8021q_setup(struct dsa_switch *ds) in felix_tag_8021q_setup() argument
494 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_setup()
498 err = dsa_tag_8021q_register(ds, htons(ETH_P_8021AD)); in felix_tag_8021q_setup()
502 dsa_switch_for_each_cpu_port(dp, ds) in felix_tag_8021q_setup()
505 dsa_switch_for_each_user_port(dp, ds) in felix_tag_8021q_setup()
509 dsa_switch_for_each_available_port(dp, ds) in felix_tag_8021q_setup()
538 static void felix_tag_8021q_teardown(struct dsa_switch *ds) in felix_tag_8021q_teardown() argument
540 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_teardown()
543 dsa_switch_for_each_available_port(dp, ds) in felix_tag_8021q_teardown()
552 dsa_switch_for_each_user_port(dp, ds) in felix_tag_8021q_teardown()
555 dsa_switch_for_each_cpu_port(dp, ds) in felix_tag_8021q_teardown()
558 dsa_tag_8021q_unregister(ds); in felix_tag_8021q_teardown()
561 static unsigned long felix_tag_8021q_get_host_fwd_mask(struct dsa_switch *ds) in felix_tag_8021q_get_host_fwd_mask() argument
563 return dsa_cpu_ports(ds); in felix_tag_8021q_get_host_fwd_mask()
566 static int felix_tag_8021q_change_master(struct dsa_switch *ds, int port, in felix_tag_8021q_change_master() argument
570 int cpu = felix_cpu_port_for_master(ds, master); in felix_tag_8021q_change_master()
571 struct ocelot *ocelot = ds->priv; in felix_tag_8021q_change_master()
576 return felix_update_trapping_destinations(ds, true); in felix_tag_8021q_change_master()
586 static void felix_set_host_flood(struct dsa_switch *ds, unsigned long mask, in felix_set_host_flood() argument
589 struct ocelot *ocelot = ds->priv; in felix_set_host_flood()
605 felix_migrate_host_flood(struct dsa_switch *ds, in felix_migrate_host_flood() argument
609 struct ocelot *ocelot = ds->priv; in felix_migrate_host_flood()
614 mask = old_proto_ops->get_host_fwd_mask(ds); in felix_migrate_host_flood()
615 felix_set_host_flood(ds, mask, false, false, false); in felix_migrate_host_flood()
618 mask = proto_ops->get_host_fwd_mask(ds); in felix_migrate_host_flood()
619 felix_set_host_flood(ds, mask, !!felix->host_flood_uc_mask, in felix_migrate_host_flood()
623 static int felix_migrate_mdbs(struct dsa_switch *ds, in felix_migrate_mdbs() argument
627 struct ocelot *ocelot = ds->priv; in felix_migrate_mdbs()
633 from = old_proto_ops->get_host_fwd_mask(ds); in felix_migrate_mdbs()
634 to = proto_ops->get_host_fwd_mask(ds); in felix_migrate_mdbs()
645 felix_tag_proto_setup_shared(struct dsa_switch *ds, in felix_tag_proto_setup_shared() argument
652 err = felix_migrate_mdbs(ds, proto_ops, old_proto_ops); in felix_tag_proto_setup_shared()
656 felix_update_trapping_destinations(ds, using_tag_8021q); in felix_tag_proto_setup_shared()
658 felix_migrate_host_flood(ds, proto_ops, old_proto_ops); in felix_tag_proto_setup_shared()
667 static int felix_change_tag_protocol(struct dsa_switch *ds, in felix_change_tag_protocol() argument
671 struct ocelot *ocelot = ds->priv; in felix_change_tag_protocol()
692 err = proto_ops->setup(ds); in felix_change_tag_protocol()
696 err = felix_tag_proto_setup_shared(ds, proto_ops, old_proto_ops); in felix_change_tag_protocol()
701 old_proto_ops->teardown(ds); in felix_change_tag_protocol()
709 proto_ops->teardown(ds); in felix_change_tag_protocol()
714 static enum dsa_tag_protocol felix_get_tag_protocol(struct dsa_switch *ds, in felix_get_tag_protocol() argument
718 struct ocelot *ocelot = ds->priv; in felix_get_tag_protocol()
724 static void felix_port_set_host_flood(struct dsa_switch *ds, int port, in felix_port_set_host_flood() argument
727 struct ocelot *ocelot = ds->priv; in felix_port_set_host_flood()
741 mask = felix->tag_proto_ops->get_host_fwd_mask(ds); in felix_port_set_host_flood()
742 felix_set_host_flood(ds, mask, !!felix->host_flood_uc_mask, in felix_port_set_host_flood()
746 static int felix_port_change_master(struct dsa_switch *ds, int port, in felix_port_change_master() argument
750 struct ocelot *ocelot = ds->priv; in felix_port_change_master()
753 return felix->tag_proto_ops->change_master(ds, port, master, extack); in felix_port_change_master()
756 static int felix_set_ageing_time(struct dsa_switch *ds, in felix_set_ageing_time() argument
759 struct ocelot *ocelot = ds->priv; in felix_set_ageing_time()
766 static void felix_port_fast_age(struct dsa_switch *ds, int port) in felix_port_fast_age() argument
768 struct ocelot *ocelot = ds->priv; in felix_port_fast_age()
773 dev_err(ds->dev, "Flushing MAC table on port %d returned %pe\n", in felix_port_fast_age()
777 static int felix_fdb_dump(struct dsa_switch *ds, int port, in felix_fdb_dump() argument
780 struct ocelot *ocelot = ds->priv; in felix_fdb_dump()
785 static int felix_fdb_add(struct dsa_switch *ds, int port, in felix_fdb_add() argument
790 struct dsa_port *dp = dsa_to_port(ds, port); in felix_fdb_add()
791 struct ocelot *ocelot = ds->priv; in felix_fdb_add()
797 dsa_fdb_present_in_other_db(ds, port, addr, vid, db)) in felix_fdb_add()
806 static int felix_fdb_del(struct dsa_switch *ds, int port, in felix_fdb_del() argument
811 struct dsa_port *dp = dsa_to_port(ds, port); in felix_fdb_del()
812 struct ocelot *ocelot = ds->priv; in felix_fdb_del()
818 dsa_fdb_present_in_other_db(ds, port, addr, vid, db)) in felix_fdb_del()
827 static int felix_lag_fdb_add(struct dsa_switch *ds, struct dsa_lag lag, in felix_lag_fdb_add() argument
832 struct ocelot *ocelot = ds->priv; in felix_lag_fdb_add()
840 static int felix_lag_fdb_del(struct dsa_switch *ds, struct dsa_lag lag, in felix_lag_fdb_del() argument
845 struct ocelot *ocelot = ds->priv; in felix_lag_fdb_del()
853 static int felix_mdb_add(struct dsa_switch *ds, int port, in felix_mdb_add() argument
858 struct ocelot *ocelot = ds->priv; in felix_mdb_add()
863 if (dsa_is_cpu_port(ds, port) && !bridge_dev && in felix_mdb_add()
864 dsa_mdb_present_in_other_db(ds, port, mdb, db)) in felix_mdb_add()
873 static int felix_mdb_del(struct dsa_switch *ds, int port, in felix_mdb_del() argument
878 struct ocelot *ocelot = ds->priv; in felix_mdb_del()
883 if (dsa_is_cpu_port(ds, port) && !bridge_dev && in felix_mdb_del()
884 dsa_mdb_present_in_other_db(ds, port, mdb, db)) in felix_mdb_del()
893 static void felix_bridge_stp_state_set(struct dsa_switch *ds, int port, in felix_bridge_stp_state_set() argument
896 struct ocelot *ocelot = ds->priv; in felix_bridge_stp_state_set()
901 static int felix_pre_bridge_flags(struct dsa_switch *ds, int port, in felix_pre_bridge_flags() argument
905 struct ocelot *ocelot = ds->priv; in felix_pre_bridge_flags()
910 static int felix_bridge_flags(struct dsa_switch *ds, int port, in felix_bridge_flags() argument
914 struct ocelot *ocelot = ds->priv; in felix_bridge_flags()
924 static int felix_bridge_join(struct dsa_switch *ds, int port, in felix_bridge_join() argument
928 struct ocelot *ocelot = ds->priv; in felix_bridge_join()
934 static void felix_bridge_leave(struct dsa_switch *ds, int port, in felix_bridge_leave() argument
937 struct ocelot *ocelot = ds->priv; in felix_bridge_leave()
942 static int felix_lag_join(struct dsa_switch *ds, int port, in felix_lag_join() argument
947 struct ocelot *ocelot = ds->priv; in felix_lag_join()
955 if (!dsa_is_cpu_port(ds, port)) in felix_lag_join()
958 return felix_port_change_master(ds, port, lag.dev, extack); in felix_lag_join()
961 static int felix_lag_leave(struct dsa_switch *ds, int port, in felix_lag_leave() argument
964 struct ocelot *ocelot = ds->priv; in felix_lag_leave()
969 if (!dsa_is_cpu_port(ds, port)) in felix_lag_leave()
972 return felix_port_change_master(ds, port, lag.dev, NULL); in felix_lag_leave()
975 static int felix_lag_change(struct dsa_switch *ds, int port) in felix_lag_change() argument
977 struct dsa_port *dp = dsa_to_port(ds, port); in felix_lag_change()
978 struct ocelot *ocelot = ds->priv; in felix_lag_change()
985 static int felix_vlan_prepare(struct dsa_switch *ds, int port, in felix_vlan_prepare() argument
989 struct ocelot *ocelot = ds->priv; in felix_vlan_prepare()
1009 static int felix_vlan_filtering(struct dsa_switch *ds, int port, bool enabled, in felix_vlan_filtering() argument
1012 struct ocelot *ocelot = ds->priv; in felix_vlan_filtering()
1017 static int felix_vlan_add(struct dsa_switch *ds, int port, in felix_vlan_add() argument
1021 struct ocelot *ocelot = ds->priv; in felix_vlan_add()
1025 err = felix_vlan_prepare(ds, port, vlan, extack); in felix_vlan_add()
1034 static int felix_vlan_del(struct dsa_switch *ds, int port, in felix_vlan_del() argument
1037 struct ocelot *ocelot = ds->priv; in felix_vlan_del()
1042 static void felix_phylink_get_caps(struct dsa_switch *ds, int port, in felix_phylink_get_caps() argument
1045 struct ocelot *ocelot = ds->priv; in felix_phylink_get_caps()
1055 static void felix_phylink_mac_config(struct dsa_switch *ds, int port, in felix_phylink_mac_config() argument
1059 struct ocelot *ocelot = ds->priv; in felix_phylink_mac_config()
1066 static struct phylink_pcs *felix_phylink_mac_select_pcs(struct dsa_switch *ds, in felix_phylink_mac_select_pcs() argument
1070 struct ocelot *ocelot = ds->priv; in felix_phylink_mac_select_pcs()
1080 static void felix_phylink_mac_link_down(struct dsa_switch *ds, int port, in felix_phylink_mac_link_down() argument
1084 struct ocelot *ocelot = ds->priv; in felix_phylink_mac_link_down()
1093 static void felix_phylink_mac_link_up(struct dsa_switch *ds, int port, in felix_phylink_mac_link_up() argument
1100 struct ocelot *ocelot = ds->priv; in felix_phylink_mac_link_up()
1111 static int felix_port_enable(struct dsa_switch *ds, int port, in felix_port_enable() argument
1114 struct dsa_port *dp = dsa_to_port(ds, port); in felix_port_enable()
1115 struct ocelot *ocelot = ds->priv; in felix_port_enable()
1123 if (felix_cpu_port_for_master(ds, master) != ocelot->npi) { in felix_port_enable()
1124 dev_err(ds->dev, "Multiple masters are not allowed\n"); in felix_port_enable()
1153 static void felix_get_stats64(struct dsa_switch *ds, int port, in felix_get_stats64() argument
1156 struct ocelot *ocelot = ds->priv; in felix_get_stats64()
1161 static void felix_get_pause_stats(struct dsa_switch *ds, int port, in felix_get_pause_stats() argument
1164 struct ocelot *ocelot = ds->priv; in felix_get_pause_stats()
1169 static void felix_get_rmon_stats(struct dsa_switch *ds, int port, in felix_get_rmon_stats() argument
1173 struct ocelot *ocelot = ds->priv; in felix_get_rmon_stats()
1178 static void felix_get_eth_ctrl_stats(struct dsa_switch *ds, int port, in felix_get_eth_ctrl_stats() argument
1181 struct ocelot *ocelot = ds->priv; in felix_get_eth_ctrl_stats()
1186 static void felix_get_eth_mac_stats(struct dsa_switch *ds, int port, in felix_get_eth_mac_stats() argument
1189 struct ocelot *ocelot = ds->priv; in felix_get_eth_mac_stats()
1194 static void felix_get_eth_phy_stats(struct dsa_switch *ds, int port, in felix_get_eth_phy_stats() argument
1197 struct ocelot *ocelot = ds->priv; in felix_get_eth_phy_stats()
1202 static void felix_get_strings(struct dsa_switch *ds, int port, in felix_get_strings() argument
1205 struct ocelot *ocelot = ds->priv; in felix_get_strings()
1210 static void felix_get_ethtool_stats(struct dsa_switch *ds, int port, u64 *data) in felix_get_ethtool_stats() argument
1212 struct ocelot *ocelot = ds->priv; in felix_get_ethtool_stats()
1217 static int felix_get_sset_count(struct dsa_switch *ds, int port, int sset) in felix_get_sset_count() argument
1219 struct ocelot *ocelot = ds->priv; in felix_get_sset_count()
1224 static int felix_get_ts_info(struct dsa_switch *ds, int port, in felix_get_ts_info() argument
1227 struct ocelot *ocelot = ds->priv; in felix_get_ts_info()
1396 ocelot->devlink = felix->ds->devlink; in felix_init_structs()
1502 struct dsa_switch *ds = xmit_work->dp->ds; in felix_port_deferred_xmit() local
1505 struct ocelot *ocelot = ds->priv; in felix_port_deferred_xmit()
1535 static int felix_connect_tag_protocol(struct dsa_switch *ds, in felix_connect_tag_protocol() argument
1542 tagger_data = ocelot_8021q_tagger_data(ds); in felix_connect_tag_protocol()
1553 static int felix_setup(struct dsa_switch *ds) in felix_setup() argument
1555 struct ocelot *ocelot = ds->priv; in felix_setup()
1560 err = felix_init_structs(felix, ds->num_ports); in felix_setup()
1580 dsa_switch_for_each_available_port(dp, ds) { in felix_setup()
1600 felix_change_tag_protocol(ds, felix->tag_proto); in felix_setup()
1602 ds->mtu_enforcement_ingress = true; in felix_setup()
1603 ds->assisted_learning_on_cpu_port = true; in felix_setup()
1604 ds->fdb_isolation = true; in felix_setup()
1605 ds->max_num_bridges = ds->num_ports; in felix_setup()
1610 dsa_switch_for_each_available_port(dp, ds) in felix_setup()
1623 static void felix_teardown(struct dsa_switch *ds) in felix_teardown() argument
1625 struct ocelot *ocelot = ds->priv; in felix_teardown()
1631 felix->tag_proto_ops->teardown(ds); in felix_teardown()
1634 dsa_switch_for_each_available_port(dp, ds) in felix_teardown()
1645 static int felix_hwtstamp_get(struct dsa_switch *ds, int port, in felix_hwtstamp_get() argument
1648 struct ocelot *ocelot = ds->priv; in felix_hwtstamp_get()
1653 static int felix_hwtstamp_set(struct dsa_switch *ds, int port, in felix_hwtstamp_set() argument
1656 struct ocelot *ocelot = ds->priv; in felix_hwtstamp_set()
1667 return felix_update_trapping_destinations(ds, using_tag_8021q); in felix_hwtstamp_set()
1724 static bool felix_rxtstamp(struct dsa_switch *ds, int port, in felix_rxtstamp() argument
1729 struct ocelot *ocelot = ds->priv; in felix_rxtstamp()
1771 static void felix_txtstamp(struct dsa_switch *ds, int port, in felix_txtstamp() argument
1774 struct ocelot *ocelot = ds->priv; in felix_txtstamp()
1781 dev_err_ratelimited(ds->dev, in felix_txtstamp()
1791 static int felix_change_mtu(struct dsa_switch *ds, int port, int new_mtu) in felix_change_mtu() argument
1793 struct ocelot *ocelot = ds->priv; in felix_change_mtu()
1808 static int felix_get_max_mtu(struct dsa_switch *ds, int port) in felix_get_max_mtu() argument
1810 struct ocelot *ocelot = ds->priv; in felix_get_max_mtu()
1815 static int felix_cls_flower_add(struct dsa_switch *ds, int port, in felix_cls_flower_add() argument
1818 struct ocelot *ocelot = ds->priv; in felix_cls_flower_add()
1829 return felix_update_trapping_destinations(ds, using_tag_8021q); in felix_cls_flower_add()
1832 static int felix_cls_flower_del(struct dsa_switch *ds, int port, in felix_cls_flower_del() argument
1835 struct ocelot *ocelot = ds->priv; in felix_cls_flower_del()
1840 static int felix_cls_flower_stats(struct dsa_switch *ds, int port, in felix_cls_flower_stats() argument
1843 struct ocelot *ocelot = ds->priv; in felix_cls_flower_stats()
1848 static int felix_port_policer_add(struct dsa_switch *ds, int port, in felix_port_policer_add() argument
1851 struct ocelot *ocelot = ds->priv; in felix_port_policer_add()
1860 static void felix_port_policer_del(struct dsa_switch *ds, int port) in felix_port_policer_del() argument
1862 struct ocelot *ocelot = ds->priv; in felix_port_policer_del()
1867 static int felix_port_mirror_add(struct dsa_switch *ds, int port, in felix_port_mirror_add() argument
1871 struct ocelot *ocelot = ds->priv; in felix_port_mirror_add()
1877 static void felix_port_mirror_del(struct dsa_switch *ds, int port, in felix_port_mirror_del() argument
1880 struct ocelot *ocelot = ds->priv; in felix_port_mirror_del()
1885 static int felix_port_setup_tc(struct dsa_switch *ds, int port, in felix_port_setup_tc() argument
1889 struct ocelot *ocelot = ds->priv; in felix_port_setup_tc()
1893 return felix->info->port_setup_tc(ds, port, type, type_data); in felix_port_setup_tc()
1898 static int felix_sb_pool_get(struct dsa_switch *ds, unsigned int sb_index, in felix_sb_pool_get() argument
1902 struct ocelot *ocelot = ds->priv; in felix_sb_pool_get()
1907 static int felix_sb_pool_set(struct dsa_switch *ds, unsigned int sb_index, in felix_sb_pool_set() argument
1912 struct ocelot *ocelot = ds->priv; in felix_sb_pool_set()
1918 static int felix_sb_port_pool_get(struct dsa_switch *ds, int port, in felix_sb_port_pool_get() argument
1922 struct ocelot *ocelot = ds->priv; in felix_sb_port_pool_get()
1928 static int felix_sb_port_pool_set(struct dsa_switch *ds, int port, in felix_sb_port_pool_set() argument
1932 struct ocelot *ocelot = ds->priv; in felix_sb_port_pool_set()
1938 static int felix_sb_tc_pool_bind_get(struct dsa_switch *ds, int port, in felix_sb_tc_pool_bind_get() argument
1943 struct ocelot *ocelot = ds->priv; in felix_sb_tc_pool_bind_get()
1950 static int felix_sb_tc_pool_bind_set(struct dsa_switch *ds, int port, in felix_sb_tc_pool_bind_set() argument
1956 struct ocelot *ocelot = ds->priv; in felix_sb_tc_pool_bind_set()
1963 static int felix_sb_occ_snapshot(struct dsa_switch *ds, in felix_sb_occ_snapshot() argument
1966 struct ocelot *ocelot = ds->priv; in felix_sb_occ_snapshot()
1971 static int felix_sb_occ_max_clear(struct dsa_switch *ds, in felix_sb_occ_max_clear() argument
1974 struct ocelot *ocelot = ds->priv; in felix_sb_occ_max_clear()
1979 static int felix_sb_occ_port_pool_get(struct dsa_switch *ds, int port, in felix_sb_occ_port_pool_get() argument
1983 struct ocelot *ocelot = ds->priv; in felix_sb_occ_port_pool_get()
1989 static int felix_sb_occ_tc_port_bind_get(struct dsa_switch *ds, int port, in felix_sb_occ_tc_port_bind_get() argument
1994 struct ocelot *ocelot = ds->priv; in felix_sb_occ_tc_port_bind_get()
2000 static int felix_mrp_add(struct dsa_switch *ds, int port, in felix_mrp_add() argument
2003 struct ocelot *ocelot = ds->priv; in felix_mrp_add()
2008 static int felix_mrp_del(struct dsa_switch *ds, int port, in felix_mrp_del() argument
2011 struct ocelot *ocelot = ds->priv; in felix_mrp_del()
2017 felix_mrp_add_ring_role(struct dsa_switch *ds, int port, in felix_mrp_add_ring_role() argument
2020 struct ocelot *ocelot = ds->priv; in felix_mrp_add_ring_role()
2026 felix_mrp_del_ring_role(struct dsa_switch *ds, int port, in felix_mrp_del_ring_role() argument
2029 struct ocelot *ocelot = ds->priv; in felix_mrp_del_ring_role()
2034 static int felix_port_get_default_prio(struct dsa_switch *ds, int port) in felix_port_get_default_prio() argument
2036 struct ocelot *ocelot = ds->priv; in felix_port_get_default_prio()
2041 static int felix_port_set_default_prio(struct dsa_switch *ds, int port, in felix_port_set_default_prio() argument
2044 struct ocelot *ocelot = ds->priv; in felix_port_set_default_prio()
2049 static int felix_port_get_dscp_prio(struct dsa_switch *ds, int port, u8 dscp) in felix_port_get_dscp_prio() argument
2051 struct ocelot *ocelot = ds->priv; in felix_port_get_dscp_prio()
2056 static int felix_port_add_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, in felix_port_add_dscp_prio() argument
2059 struct ocelot *ocelot = ds->priv; in felix_port_add_dscp_prio()
2064 static int felix_port_del_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, in felix_port_del_dscp_prio() argument
2067 struct ocelot *ocelot = ds->priv; in felix_port_del_dscp_prio()
2072 static int felix_get_mm(struct dsa_switch *ds, int port, in felix_get_mm() argument
2075 struct ocelot *ocelot = ds->priv; in felix_get_mm()
2080 static int felix_set_mm(struct dsa_switch *ds, int port, in felix_set_mm() argument
2084 struct ocelot *ocelot = ds->priv; in felix_set_mm()
2089 static void felix_get_mm_stats(struct dsa_switch *ds, int port, in felix_get_mm_stats() argument
2092 struct ocelot *ocelot = ds->priv; in felix_get_mm_stats()
2185 struct dsa_switch *ds = felix->ds; in felix_port_to_netdev() local
2187 if (!dsa_is_user_port(ds, port)) in felix_port_to_netdev()
2190 return dsa_to_port(ds, port)->slave; in felix_port_to_netdev()