Lines Matching defs:dsa_switch_ops
826 struct dsa_switch_ops { struct
834 enum dsa_tag_protocol (*get_tag_protocol)(struct dsa_switch *ds,
837 int (*change_tag_protocol)(struct dsa_switch *ds,
844 int (*connect_tag_protocol)(struct dsa_switch *ds,
847 int (*port_change_master)(struct dsa_switch *ds, int port,
852 int (*setup)(struct dsa_switch *ds);
853 void (*teardown)(struct dsa_switch *ds);
858 int (*port_setup)(struct dsa_switch *ds, int port);
859 void (*port_teardown)(struct dsa_switch *ds, int port);
861 u32 (*get_phy_flags)(struct dsa_switch *ds, int port);
866 int (*phy_read)(struct dsa_switch *ds, int port, int regnum);
867 int (*phy_write)(struct dsa_switch *ds, int port,
873 void (*adjust_link)(struct dsa_switch *ds, int port,
875 void (*fixed_link_update)(struct dsa_switch *ds, int port,
881 void (*phylink_get_caps)(struct dsa_switch *ds, int port,
883 void (*phylink_validate)(struct dsa_switch *ds, int port,
886 struct phylink_pcs *(*phylink_mac_select_pcs)(struct dsa_switch *ds,
889 int (*phylink_mac_link_state)(struct dsa_switch *ds, int port,
891 void (*phylink_mac_config)(struct dsa_switch *ds, int port,
894 void (*phylink_mac_an_restart)(struct dsa_switch *ds, int port);
895 void (*phylink_mac_link_down)(struct dsa_switch *ds, int port,
898 void (*phylink_mac_link_up)(struct dsa_switch *ds, int port,
904 void (*phylink_fixed_state)(struct dsa_switch *ds, int port,
909 void (*get_strings)(struct dsa_switch *ds, int port,
911 void (*get_ethtool_stats)(struct dsa_switch *ds,
913 int (*get_sset_count)(struct dsa_switch *ds, int port, int sset);
914 void (*get_ethtool_phy_stats)(struct dsa_switch *ds,
916 void (*get_eth_phy_stats)(struct dsa_switch *ds, int port,
918 void (*get_eth_mac_stats)(struct dsa_switch *ds, int port,
920 void (*get_eth_ctrl_stats)(struct dsa_switch *ds, int port,
922 void (*get_rmon_stats)(struct dsa_switch *ds, int port,
925 void (*get_stats64)(struct dsa_switch *ds, int port,
927 void (*get_pause_stats)(struct dsa_switch *ds, int port,
929 void (*self_test)(struct dsa_switch *ds, int port,
935 void (*get_wol)(struct dsa_switch *ds, int port,
937 int (*set_wol)(struct dsa_switch *ds, int port,
943 int (*get_ts_info)(struct dsa_switch *ds, int port,
949 int (*port_get_default_prio)(struct dsa_switch *ds, int port);
950 int (*port_set_default_prio)(struct dsa_switch *ds, int port,
952 int (*port_get_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp);
953 int (*port_add_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp,
955 int (*port_del_dscp_prio)(struct dsa_switch *ds, int port, u8 dscp,
961 int (*suspend)(struct dsa_switch *ds);
962 int (*resume)(struct dsa_switch *ds);
967 int (*port_enable)(struct dsa_switch *ds, int port,
969 void (*port_disable)(struct dsa_switch *ds, int port);
974 int (*set_mac_eee)(struct dsa_switch *ds, int port,
976 int (*get_mac_eee)(struct dsa_switch *ds, int port,
980 int (*get_eeprom_len)(struct dsa_switch *ds);
981 int (*get_eeprom)(struct dsa_switch *ds,
983 int (*set_eeprom)(struct dsa_switch *ds,
989 int (*get_regs_len)(struct dsa_switch *ds, int port);
990 void (*get_regs)(struct dsa_switch *ds, int port,
996 int (*port_prechangeupper)(struct dsa_switch *ds, int port,
1002 int (*set_ageing_time)(struct dsa_switch *ds, unsigned int msecs);
1003 int (*port_bridge_join)(struct dsa_switch *ds, int port,
1007 void (*port_bridge_leave)(struct dsa_switch *ds, int port,
1009 void (*port_stp_state_set)(struct dsa_switch *ds, int port,
1011 int (*port_mst_state_set)(struct dsa_switch *ds, int port,
1013 void (*port_fast_age)(struct dsa_switch *ds, int port);
1014 int (*port_vlan_fast_age)(struct dsa_switch *ds, int port, u16 vid);
1015 int (*port_pre_bridge_flags)(struct dsa_switch *ds, int port,
1018 int (*port_bridge_flags)(struct dsa_switch *ds, int port,
1021 void (*port_set_host_flood)(struct dsa_switch *ds, int port,
1027 int (*port_vlan_filtering)(struct dsa_switch *ds, int port,
1030 int (*port_vlan_add)(struct dsa_switch *ds, int port,
1033 int (*port_vlan_del)(struct dsa_switch *ds, int port,
1035 int (*vlan_msti_set)(struct dsa_switch *ds, struct dsa_bridge bridge,
1041 int (*port_fdb_add)(struct dsa_switch *ds, int port,
1044 int (*port_fdb_del)(struct dsa_switch *ds, int port,
1047 int (*port_fdb_dump)(struct dsa_switch *ds, int port,
1049 int (*lag_fdb_add)(struct dsa_switch *ds, struct dsa_lag lag,
1052 int (*lag_fdb_del)(struct dsa_switch *ds, struct dsa_lag lag,
1059 int (*port_mdb_add)(struct dsa_switch *ds, int port,
1062 int (*port_mdb_del)(struct dsa_switch *ds, int port,
1068 int (*get_rxnfc)(struct dsa_switch *ds, int port,
1070 int (*set_rxnfc)(struct dsa_switch *ds, int port,
1076 int (*cls_flower_add)(struct dsa_switch *ds, int port,
1078 int (*cls_flower_del)(struct dsa_switch *ds, int port,
1080 int (*cls_flower_stats)(struct dsa_switch *ds, int port,
1082 int (*port_mirror_add)(struct dsa_switch *ds, int port,
1085 void (*port_mirror_del)(struct dsa_switch *ds, int port,
1087 int (*port_policer_add)(struct dsa_switch *ds, int port,
1089 void (*port_policer_del)(struct dsa_switch *ds, int port);
1090 int (*port_setup_tc)(struct dsa_switch *ds, int port,
1096 int (*crosschip_bridge_join)(struct dsa_switch *ds, int tree_index,
1100 void (*crosschip_bridge_leave)(struct dsa_switch *ds, int tree_index,
1103 int (*crosschip_lag_change)(struct dsa_switch *ds, int sw_index,
1105 int (*crosschip_lag_join)(struct dsa_switch *ds, int sw_index,
1109 int (*crosschip_lag_leave)(struct dsa_switch *ds, int sw_index,
1115 int (*port_hwtstamp_get)(struct dsa_switch *ds, int port,
1117 int (*port_hwtstamp_set)(struct dsa_switch *ds, int port,
1119 void (*port_txtstamp)(struct dsa_switch *ds, int port,
1121 bool (*port_rxtstamp)(struct dsa_switch *ds, int port,
1125 int (*devlink_param_get)(struct dsa_switch *ds, u32 id,
1127 int (*devlink_param_set)(struct dsa_switch *ds, u32 id,
1129 int (*devlink_info_get)(struct dsa_switch *ds,
1132 int (*devlink_sb_pool_get)(struct dsa_switch *ds,
1135 int (*devlink_sb_pool_set)(struct dsa_switch *ds, unsigned int sb_index,
1139 int (*devlink_sb_port_pool_get)(struct dsa_switch *ds, int port,
1142 int (*devlink_sb_port_pool_set)(struct dsa_switch *ds, int port,
1146 int (*devlink_sb_tc_pool_bind_get)(struct dsa_switch *ds, int port,
1150 int (*devlink_sb_tc_pool_bind_set)(struct dsa_switch *ds, int port,
1155 int (*devlink_sb_occ_snapshot)(struct dsa_switch *ds,
1157 int (*devlink_sb_occ_max_clear)(struct dsa_switch *ds,
1159 int (*devlink_sb_occ_port_pool_get)(struct dsa_switch *ds, int port,
1162 int (*devlink_sb_occ_tc_port_bind_get)(struct dsa_switch *ds, int port,
1173 int (*port_change_mtu)(struct dsa_switch *ds, int port,
1175 int (*port_max_mtu)(struct dsa_switch *ds, int port);
1180 int (*port_lag_change)(struct dsa_switch *ds, int port);
1181 int (*port_lag_join)(struct dsa_switch *ds, int port,
1185 int (*port_lag_leave)(struct dsa_switch *ds, int port,
1191 int (*port_hsr_join)(struct dsa_switch *ds, int port,
1193 int (*port_hsr_leave)(struct dsa_switch *ds, int port,
1199 int (*port_mrp_add)(struct dsa_switch *ds, int port,
1201 int (*port_mrp_del)(struct dsa_switch *ds, int port,
1203 int (*port_mrp_add_ring_role)(struct dsa_switch *ds, int port,
1205 int (*port_mrp_del_ring_role)(struct dsa_switch *ds, int port,
1211 int (*tag_8021q_vlan_add)(struct dsa_switch *ds, int port, u16 vid,
1213 int (*tag_8021q_vlan_del)(struct dsa_switch *ds, int port, u16 vid);
1218 void (*master_state_change)(struct dsa_switch *ds,