Lines Matching defs:dsa_switch_ops
839 struct dsa_switch_ops { struct
847 enum dsa_tag_protocol (*get_tag_protocol)(struct dsa_switch *ds,
850 int (*change_tag_protocol)(struct dsa_switch *ds,
857 int (*connect_tag_protocol)(struct dsa_switch *ds,
860 int (*port_change_conduit)(struct dsa_switch *ds, int port,
865 int (*setup)(struct dsa_switch *ds);
866 void (*teardown)(struct dsa_switch *ds);
871 int (*port_setup)(struct dsa_switch *ds, int port);
872 void (*port_teardown)(struct dsa_switch *ds, int port);
874 u32 (*get_phy_flags)(struct dsa_switch *ds, int port);
879 int (*phy_read)(struct dsa_switch *ds, int port, int regnum);
880 int (*phy_write)(struct dsa_switch *ds, int port,
886 void (*phylink_get_caps)(struct dsa_switch *ds, int port,
888 struct phylink_pcs *(*phylink_mac_select_pcs)(struct dsa_switch *ds,
891 void (*phylink_mac_config)(struct dsa_switch *ds, int port,
894 void (*phylink_mac_link_down)(struct dsa_switch *ds, int port,
897 void (*phylink_mac_link_up)(struct dsa_switch *ds, int port,
903 void (*phylink_fixed_state)(struct dsa_switch *ds, int port,
908 void (*get_strings)(struct dsa_switch *ds, int port,
910 void (*get_ethtool_stats)(struct dsa_switch *ds,
912 int (*get_sset_count)(struct dsa_switch *ds, int port, int sset);
913 void (*get_ethtool_phy_stats)(struct dsa_switch *ds,
915 void (*get_eth_phy_stats)(struct dsa_switch *ds, int port,
917 void (*get_eth_mac_stats)(struct dsa_switch *ds, int port,
919 void (*get_eth_ctrl_stats)(struct dsa_switch *ds, int port,
921 void (*get_rmon_stats)(struct dsa_switch *ds, int port,
924 void (*get_stats64)(struct dsa_switch *ds, int port,
926 void (*get_pause_stats)(struct dsa_switch *ds, int port,
928 void (*self_test)(struct dsa_switch *ds, int port,
934 void (*get_wol)(struct dsa_switch *ds, int port,
936 int (*set_wol)(struct dsa_switch *ds, int port,
942 int (*get_ts_info)(struct dsa_switch *ds, int port,
948 int (*get_mm)(struct dsa_switch *ds, int port,
950 int (*set_mm)(struct dsa_switch *ds, int port,
953 void (*get_mm_stats)(struct dsa_switch *ds, int port,
959 int (*port_get_default_prio)(struct dsa_switch *ds, int port);
960 int (*port_set_default_prio)(struct dsa_switch *ds, int port,
962 int (*port_get_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp);
963 int (*port_add_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp,
965 int (*port_del_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp,
967 int (*port_set_apptrust)(struct dsa_switch *ds, int port,
969 int (*port_get_apptrust)(struct dsa_switch *ds, int port, u8 *sel,
975 int (*suspend)(struct dsa_switch *ds);
976 int (*resume)(struct dsa_switch *ds);
981 int (*port_enable)(struct dsa_switch *ds, int port,
983 void (*port_disable)(struct dsa_switch *ds, int port);
992 int (*port_set_mac_address)(struct dsa_switch *ds, int port,
1001 struct dsa_port *(*preferred_default_local_cpu_port)(struct dsa_switch *ds);
1006 int (*set_mac_eee)(struct dsa_switch *ds, int port,
1008 int (*get_mac_eee)(struct dsa_switch *ds, int port,
1012 int (*get_eeprom_len)(struct dsa_switch *ds);
1013 int (*get_eeprom)(struct dsa_switch *ds,
1015 int (*set_eeprom)(struct dsa_switch *ds,
1021 int (*get_regs_len)(struct dsa_switch *ds, int port);
1022 void (*get_regs)(struct dsa_switch *ds, int port,
1028 int (*port_prechangeupper)(struct dsa_switch *ds, int port,
1034 int (*set_ageing_time)(struct dsa_switch *ds, unsigned int msecs);
1035 int (*port_bridge_join)(struct dsa_switch *ds, int port,
1039 void (*port_bridge_leave)(struct dsa_switch *ds, int port,
1041 void (*port_stp_state_set)(struct dsa_switch *ds, int port,
1043 int (*port_mst_state_set)(struct dsa_switch *ds, int port,
1045 void (*port_fast_age)(struct dsa_switch *ds, int port);
1046 int (*port_vlan_fast_age)(struct dsa_switch *ds, int port, u16 vid);
1047 int (*port_pre_bridge_flags)(struct dsa_switch *ds, int port,
1050 int (*port_bridge_flags)(struct dsa_switch *ds, int port,
1053 void (*port_set_host_flood)(struct dsa_switch *ds, int port,
1059 int (*port_vlan_filtering)(struct dsa_switch *ds, int port,
1062 int (*port_vlan_add)(struct dsa_switch *ds, int port,
1065 int (*port_vlan_del)(struct dsa_switch *ds, int port,
1067 int (*vlan_msti_set)(struct dsa_switch *ds, struct dsa_bridge bridge,
1073 int (*port_fdb_add)(struct dsa_switch *ds, int port,
1076 int (*port_fdb_del)(struct dsa_switch *ds, int port,
1079 int (*port_fdb_dump)(struct dsa_switch *ds, int port,
1081 int (*lag_fdb_add)(struct dsa_switch *ds, struct dsa_lag lag,
1084 int (*lag_fdb_del)(struct dsa_switch *ds, struct dsa_lag lag,
1091 int (*port_mdb_add)(struct dsa_switch *ds, int port,
1094 int (*port_mdb_del)(struct dsa_switch *ds, int port,
1100 int (*get_rxnfc)(struct dsa_switch *ds, int port,
1102 int (*set_rxnfc)(struct dsa_switch *ds, int port,
1108 int (*cls_flower_add)(struct dsa_switch *ds, int port,
1110 int (*cls_flower_del)(struct dsa_switch *ds, int port,
1112 int (*cls_flower_stats)(struct dsa_switch *ds, int port,
1114 int (*port_mirror_add)(struct dsa_switch *ds, int port,
1117 void (*port_mirror_del)(struct dsa_switch *ds, int port,
1119 int (*port_policer_add)(struct dsa_switch *ds, int port,
1121 void (*port_policer_del)(struct dsa_switch *ds, int port);
1122 int (*port_setup_tc)(struct dsa_switch *ds, int port,
1128 int (*crosschip_bridge_join)(struct dsa_switch *ds, int tree_index,
1132 void (*crosschip_bridge_leave)(struct dsa_switch *ds, int tree_index,
1135 int (*crosschip_lag_change)(struct dsa_switch *ds, int sw_index,
1137 int (*crosschip_lag_join)(struct dsa_switch *ds, int sw_index,
1141 int (*crosschip_lag_leave)(struct dsa_switch *ds, int sw_index,
1147 int (*port_hwtstamp_get)(struct dsa_switch *ds, int port,
1149 int (*port_hwtstamp_set)(struct dsa_switch *ds, int port,
1151 void (*port_txtstamp)(struct dsa_switch *ds, int port,
1153 bool (*port_rxtstamp)(struct dsa_switch *ds, int port,
1157 int (*devlink_param_get)(struct dsa_switch *ds, u32 id,
1159 int (*devlink_param_set)(struct dsa_switch *ds, u32 id,
1161 int (*devlink_info_get)(struct dsa_switch *ds,
1164 int (*devlink_sb_pool_get)(struct dsa_switch *ds,
1167 int (*devlink_sb_pool_set)(struct dsa_switch *ds, unsigned int sb_index,
1171 int (*devlink_sb_port_pool_get)(struct dsa_switch *ds, int port,
1174 int (*devlink_sb_port_pool_set)(struct dsa_switch *ds, int port,
1178 int (*devlink_sb_tc_pool_bind_get)(struct dsa_switch *ds, int port,
1182 int (*devlink_sb_tc_pool_bind_set)(struct dsa_switch *ds, int port,
1187 int (*devlink_sb_occ_snapshot)(struct dsa_switch *ds,
1189 int (*devlink_sb_occ_max_clear)(struct dsa_switch *ds,
1191 int (*devlink_sb_occ_port_pool_get)(struct dsa_switch *ds, int port,
1194 int (*devlink_sb_occ_tc_port_bind_get)(struct dsa_switch *ds, int port,
1205 int (*port_change_mtu)(struct dsa_switch *ds, int port,
1207 int (*port_max_mtu)(struct dsa_switch *ds, int port);
1212 int (*port_lag_change)(struct dsa_switch *ds, int port);
1213 int (*port_lag_join)(struct dsa_switch *ds, int port,
1217 int (*port_lag_leave)(struct dsa_switch *ds, int port,
1223 int (*port_hsr_join)(struct dsa_switch *ds, int port,
1226 int (*port_hsr_leave)(struct dsa_switch *ds, int port,
1232 int (*port_mrp_add)(struct dsa_switch *ds, int port,
1234 int (*port_mrp_del)(struct dsa_switch *ds, int port,
1236 int (*port_mrp_add_ring_role)(struct dsa_switch *ds, int port,
1238 int (*port_mrp_del_ring_role)(struct dsa_switch *ds, int port,
1244 int (*tag_8021q_vlan_add)(struct dsa_switch *ds, int port, u16 vid,
1246 int (*tag_8021q_vlan_del)(struct dsa_switch *ds, int port, u16 vid);
1251 void (*conduit_state_change)(struct dsa_switch *ds,