/openbmc/linux/include/net/ |
H A D | dsa.h | 91 struct dsa_switch; 98 int (*connect)(struct dsa_switch *ds); 99 void (*disconnect)(struct dsa_switch *ds); 256 struct dsa_switch *ds; 371 struct dsa_switch { struct 491 static inline struct dsa_port *dsa_to_port(struct dsa_switch *ds, int p) in dsa_to_port() argument 529 static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p) in dsa_is_unused_port() 534 static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p) in dsa_is_cpu_port() 539 static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p) in dsa_is_dsa_port() 544 static inline bool dsa_is_user_port(struct dsa_switch *ds, int p) in dsa_is_user_port() [all …]
|
/openbmc/linux/drivers/net/dsa/sja1105/ |
H A D | sja1105_ptp.h | 93 int sja1105_ptp_clock_register(struct dsa_switch *ds); 95 void sja1105_ptp_clock_unregister(struct dsa_switch *ds); 103 int sja1105_get_ts_info(struct dsa_switch *ds, int port, 106 void sja1105_ptp_txtstamp_skb(struct dsa_switch *ds, int slot, 109 bool sja1105_port_rxtstamp(struct dsa_switch *ds, int port, 112 void sja1105_port_txtstamp(struct dsa_switch *ds, int port, 115 int sja1105_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr); 117 int sja1105_hwtstamp_set(struct dsa_switch *ds, int port, struct ifreq *ifr); 119 int __sja1105_ptp_gettimex(struct dsa_switch *ds, u64 *ns, 122 int __sja1105_ptp_settime(struct dsa_switch *ds, u64 ns, [all …]
|
H A D | sja1105_tas.h | 53 int sja1105_setup_tc_taprio(struct dsa_switch *ds, int port, 56 void sja1105_tas_setup(struct dsa_switch *ds); 58 void sja1105_tas_teardown(struct dsa_switch *ds); 60 void sja1105_tas_clockstep(struct dsa_switch *ds); 62 void sja1105_tas_adjfreq(struct dsa_switch *ds); 76 static inline int sja1105_setup_tc_taprio(struct dsa_switch *ds, int port, in sja1105_setup_tc_taprio() 82 static inline void sja1105_tas_setup(struct dsa_switch *ds) { } in sja1105_tas_setup() 84 static inline void sja1105_tas_teardown(struct dsa_switch *ds) { } in sja1105_tas_teardown() 86 static inline void sja1105_tas_clockstep(struct dsa_switch *ds) { } in sja1105_tas_clockstep() 88 static inline void sja1105_tas_adjfreq(struct dsa_switch *ds) { } in sja1105_tas_adjfreq() [all …]
|
H A D | sja1105.h | 142 int (*reset_cmd)(struct dsa_switch *ds); 145 int (*fdb_add_cmd)(struct dsa_switch *ds, int port, 147 int (*fdb_del_cmd)(struct dsa_switch *ds, int port, 151 bool (*rxtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb); 152 void (*txtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb); 261 struct dsa_switch *ds; 305 int sja1105_vlan_filtering(struct dsa_switch *ds, int port, bool enabled, 310 int sja1105_mdiobus_register(struct dsa_switch *ds); 311 void sja1105_mdiobus_unregister(struct dsa_switch *ds); 320 int sja1105_devlink_setup(struct dsa_switch *ds); [all …]
|
H A D | sja1105_devlink.c | 41 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in sja1105_region_static_config_snapshot() 77 static int sja1105_setup_devlink_regions(struct dsa_switch *ds) in sja1105_setup_devlink_regions() 109 static void sja1105_teardown_devlink_regions(struct dsa_switch *ds) in sja1105_teardown_devlink_regions() 120 int sja1105_devlink_info_get(struct dsa_switch *ds, in sja1105_devlink_info_get() 131 int sja1105_devlink_setup(struct dsa_switch *ds) in sja1105_devlink_setup() 136 void sja1105_devlink_teardown(struct dsa_switch *ds) in sja1105_devlink_teardown()
|
/openbmc/linux/drivers/net/dsa/microchip/ |
H A D | ksz_ptp.h | 36 int ksz_ptp_clock_register(struct dsa_switch *ds); 38 void ksz_ptp_clock_unregister(struct dsa_switch *ds); 40 int ksz_get_ts_info(struct dsa_switch *ds, int port, 42 int ksz_hwtstamp_get(struct dsa_switch *ds, int port, struct ifreq *ifr); 43 int ksz_hwtstamp_set(struct dsa_switch *ds, int port, struct ifreq *ifr); 44 void ksz_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb); 46 bool ksz_port_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb, 48 int ksz_ptp_irq_setup(struct dsa_switch *ds, u8 p); 49 void ksz_ptp_irq_free(struct dsa_switch *ds, u8 p); 58 static inline int ksz_ptp_clock_register(struct dsa_switch *ds) in ksz_ptp_clock_register() [all …]
|
/openbmc/linux/drivers/net/dsa/b53/ |
H A D | b53_priv.h | 108 struct dsa_switch *ds; 335 void b53_imp_vlan_setup(struct dsa_switch *ds, int cpu_port); 336 int b53_configure_vlan(struct dsa_switch *ds); 337 void b53_get_strings(struct dsa_switch *ds, int port, u32 stringset, 339 void b53_get_ethtool_stats(struct dsa_switch *ds, int port, uint64_t *data); 340 int b53_get_sset_count(struct dsa_switch *ds, int port, int sset); 341 void b53_get_ethtool_phy_stats(struct dsa_switch *ds, int port, uint64_t *data); 342 int b53_br_join(struct dsa_switch *ds, int port, struct dsa_bridge bridge, 344 void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge); 345 void b53_br_set_stp_state(struct dsa_switch *ds, int port, u8 state); [all …]
|
/openbmc/linux/drivers/net/dsa/mv88e6xxx/ |
H A D | devlink.h | 8 int mv88e6xxx_setup_devlink_params(struct dsa_switch *ds); 9 void mv88e6xxx_teardown_devlink_params(struct dsa_switch *ds); 10 int mv88e6xxx_setup_devlink_resources(struct dsa_switch *ds); 11 int mv88e6xxx_devlink_param_get(struct dsa_switch *ds, u32 id, 13 int mv88e6xxx_devlink_param_set(struct dsa_switch *ds, u32 id, 15 int mv88e6xxx_setup_devlink_regions_global(struct dsa_switch *ds); 16 void mv88e6xxx_teardown_devlink_regions_global(struct dsa_switch *ds); 17 int mv88e6xxx_setup_devlink_regions_port(struct dsa_switch *ds, int port); 18 void mv88e6xxx_teardown_devlink_regions_port(struct dsa_switch *ds, int port); 20 int mv88e6xxx_devlink_info_get(struct dsa_switch *ds,
|
H A D | hwtstamp.h | 113 int mv88e6xxx_port_hwtstamp_set(struct dsa_switch *ds, int port, 115 int mv88e6xxx_port_hwtstamp_get(struct dsa_switch *ds, int port, 118 bool mv88e6xxx_port_rxtstamp(struct dsa_switch *ds, int port, 120 void mv88e6xxx_port_txtstamp(struct dsa_switch *ds, int port, 123 int mv88e6xxx_get_ts_info(struct dsa_switch *ds, int port, 135 static inline int mv88e6xxx_port_hwtstamp_set(struct dsa_switch *ds, in mv88e6xxx_port_hwtstamp_set() 141 static inline int mv88e6xxx_port_hwtstamp_get(struct dsa_switch *ds, in mv88e6xxx_port_hwtstamp_get() 147 static inline bool mv88e6xxx_port_rxtstamp(struct dsa_switch *ds, int port, in mv88e6xxx_port_rxtstamp() 154 static inline void mv88e6xxx_port_txtstamp(struct dsa_switch *ds, int port, in mv88e6xxx_port_txtstamp() 159 static inline int mv88e6xxx_get_ts_info(struct dsa_switch *ds, int port, in mv88e6xxx_get_ts_info()
|
/openbmc/linux/net/dsa/ |
H A D | devlink.c | 15 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in dsa_devlink_info_get() 27 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in dsa_devlink_sb_pool_get() 41 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in dsa_devlink_sb_pool_set() 54 struct dsa_switch *ds = dsa_devlink_port_to_ds(dlp); in dsa_devlink_sb_port_pool_get() 69 struct dsa_switch *ds = dsa_devlink_port_to_ds(dlp); in dsa_devlink_sb_port_pool_set() 85 struct dsa_switch *ds = dsa_devlink_port_to_ds(dlp); in dsa_devlink_sb_tc_pool_bind_get() 103 struct dsa_switch *ds = dsa_devlink_port_to_ds(dlp); in dsa_devlink_sb_tc_pool_bind_set() 118 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in dsa_devlink_sb_occ_snapshot() 129 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in dsa_devlink_sb_occ_max_clear() 142 struct dsa_switch *ds = dsa_devlink_port_to_ds(dlp); in dsa_devlink_sb_occ_port_pool_get() [all …]
|
H A D | devlink.h | 7 struct dsa_switch; 11 void dsa_switch_devlink_register(struct dsa_switch *ds); 12 void dsa_switch_devlink_unregister(struct dsa_switch *ds); 13 int dsa_switch_devlink_alloc(struct dsa_switch *ds); 14 void dsa_switch_devlink_free(struct dsa_switch *ds);
|
H A D | switch.c | 23 static unsigned int dsa_switch_fastest_ageing_time(struct dsa_switch *ds, in dsa_switch_fastest_ageing_time() 35 static int dsa_switch_ageing_time(struct dsa_switch *ds, in dsa_switch_ageing_time() 61 static int dsa_switch_mtu(struct dsa_switch *ds, in dsa_switch_mtu() 82 static int dsa_switch_bridge_join(struct dsa_switch *ds, in dsa_switch_bridge_join() 113 static int dsa_switch_bridge_leave(struct dsa_switch *ds, in dsa_switch_bridge_leave() 162 struct dsa_switch *ds = dp->ds; in dsa_port_do_mdb_add() 214 struct dsa_switch *ds = dp->ds; in dsa_port_do_mdb_del() 261 struct dsa_switch *ds = dp->ds; in dsa_port_do_fdb_add() 311 struct dsa_switch *ds = dp->ds; in dsa_port_do_fdb_del() 354 static int dsa_switch_do_lag_fdb_add(struct dsa_switch *ds, struct dsa_lag *lag, in dsa_switch_do_lag_fdb_add() [all …]
|
H A D | tag_8021q.c | 74 struct dsa_switch *ds; 146 struct dsa_switch *ds = dp->ds; in dsa_port_do_tag_8021q_vlan_add() 182 struct dsa_switch *ds = dp->ds; in dsa_port_do_tag_8021q_vlan_del() 217 int dsa_switch_tag_8021q_vlan_add(struct dsa_switch *ds, in dsa_switch_tag_8021q_vlan_add() 249 int dsa_switch_tag_8021q_vlan_del(struct dsa_switch *ds, in dsa_switch_tag_8021q_vlan_del() 288 int dsa_tag_8021q_bridge_join(struct dsa_switch *ds, int port, in dsa_tag_8021q_bridge_join() 311 void dsa_tag_8021q_bridge_leave(struct dsa_switch *ds, int port, in dsa_tag_8021q_bridge_leave() 336 static int dsa_tag_8021q_port_setup(struct dsa_switch *ds, int port) in dsa_tag_8021q_port_setup() 366 static void dsa_tag_8021q_port_teardown(struct dsa_switch *ds, int port) in dsa_tag_8021q_port_teardown() 386 static int dsa_tag_8021q_setup(struct dsa_switch *ds) in dsa_tag_8021q_setup() [all …]
|
H A D | port.c | 57 struct dsa_switch *ds = dp->ds; in dsa_port_fast_age() 70 struct dsa_switch *ds = dp->ds; in dsa_port_vlan_fast_age() 107 struct dsa_switch *ds = dp->ds; in dsa_port_can_configure_learning() 119 struct dsa_switch *ds = dp->ds; in dsa_port_supports_hwtstamp() 137 struct dsa_switch *ds = dp->ds; in dsa_port_set_state() 171 struct dsa_switch *ds = dp->ds; in dsa_port_set_state_now() 185 struct dsa_switch *ds = dp->ds; in dsa_port_set_mst_state() 219 struct dsa_switch *ds = dp->ds; in dsa_port_enable_rt() 251 struct dsa_switch *ds = dp->ds; in dsa_port_disable_rt() 276 struct dsa_switch *ds = dp->ds; in dsa_port_reset_vlan_filtering() [all …]
|
/openbmc/linux/drivers/net/dsa/ocelot/ |
H A D | felix.c | 45 static int felix_cpu_port_for_master(struct dsa_switch *ds, 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() 107 static int felix_tag_8021q_vlan_del_rx(struct dsa_switch *ds, int port, 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() 196 static int felix_tag_8021q_vlan_del_tx(struct dsa_switch *ds, int port, u16 vid) 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() 259 static int felix_tag_8021q_vlan_del(struct dsa_switch *ds, int port, u16 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() 305 static int felix_update_trapping_destinations(struct dsa_switch *ds, in felix_update_trapping_destinations() 408 static int felix_tag_npi_setup(struct dsa_switch *ds) in felix_tag_npi_setup() [all …]
|
H A D | felix.h | 58 int (*port_setup_tc)(struct dsa_switch *ds, int port, 77 int (*setup)(struct dsa_switch *ds); 78 void (*teardown)(struct dsa_switch *ds); 79 unsigned long (*get_host_fwd_mask)(struct dsa_switch *ds); 80 int (*change_master)(struct dsa_switch *ds, int port, 89 struct dsa_switch *ds;
|
/openbmc/linux/drivers/net/dsa/qca/ |
H A D | qca8k.h | 378 int (*autocast_mib)(struct dsa_switch *ds, int port, u64 *data); 457 struct dsa_switch *ds; 514 void qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, uint8_t *data); 515 void qca8k_get_ethtool_stats(struct dsa_switch *ds, int port, 517 int qca8k_get_sset_count(struct dsa_switch *ds, int port, int sset); 520 int qca8k_set_mac_eee(struct dsa_switch *ds, int port, struct ethtool_eee *eee); 521 int qca8k_get_mac_eee(struct dsa_switch *ds, int port, struct ethtool_eee *e); 524 void qca8k_port_stp_state_set(struct dsa_switch *ds, int port, u8 state); 525 int qca8k_port_pre_bridge_flags(struct dsa_switch *ds, int port, 528 int qca8k_port_bridge_flags(struct dsa_switch *ds, int port, [all …]
|
H A D | qca8k-common.c | 480 void qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, in qca8k_get_strings() 494 void qca8k_get_ethtool_stats(struct dsa_switch *ds, int port, in qca8k_get_ethtool_stats() 527 int qca8k_get_sset_count(struct dsa_switch *ds, int port, int sset) in qca8k_get_sset_count() 537 int qca8k_set_mac_eee(struct dsa_switch *ds, int port, in qca8k_set_mac_eee() 561 int qca8k_get_mac_eee(struct dsa_switch *ds, int port, in qca8k_get_mac_eee() 568 static int qca8k_port_configure_learning(struct dsa_switch *ds, int port, in qca8k_port_configure_learning() 583 void qca8k_port_stp_state_set(struct dsa_switch *ds, int port, u8 state) in qca8k_port_stp_state_set() 618 int qca8k_port_pre_bridge_flags(struct dsa_switch *ds, int port, in qca8k_port_pre_bridge_flags() 628 int qca8k_port_bridge_flags(struct dsa_switch *ds, int port, in qca8k_port_bridge_flags() 644 int qca8k_port_bridge_join(struct dsa_switch *ds, int port, in qca8k_port_bridge_join() [all …]
|
/openbmc/linux/drivers/net/dsa/ |
H A D | dsa_loop.c | 50 static int dsa_loop_setup_devlink_resources(struct dsa_switch *ds) in dsa_loop_setup_devlink_resources() 78 static enum dsa_tag_protocol dsa_loop_get_protocol(struct dsa_switch *ds, in dsa_loop_get_protocol() 87 static int dsa_loop_setup(struct dsa_switch *ds) in dsa_loop_setup() 101 static void dsa_loop_teardown(struct dsa_switch *ds) in dsa_loop_teardown() 106 static int dsa_loop_get_sset_count(struct dsa_switch *ds, int port, int sset) in dsa_loop_get_sset_count() 114 static void dsa_loop_get_strings(struct dsa_switch *ds, int port, in dsa_loop_get_strings() 128 static void dsa_loop_get_ethtool_stats(struct dsa_switch *ds, int port, in dsa_loop_get_ethtool_stats() 138 static int dsa_loop_phy_read(struct dsa_switch *ds, int port, int regnum) in dsa_loop_phy_read() 153 static int dsa_loop_phy_write(struct dsa_switch *ds, int port, in dsa_loop_phy_write() 169 static int dsa_loop_port_bridge_join(struct dsa_switch *ds, int port, in dsa_loop_port_bridge_join() [all …]
|
H A D | bcm_sf2.h | 121 static inline struct bcm_sf2_priv *bcm_sf2_to_priv(struct dsa_switch *ds) in bcm_sf2_to_priv() 224 int bcm_sf2_get_rxnfc(struct dsa_switch *ds, int port, 226 int bcm_sf2_set_rxnfc(struct dsa_switch *ds, int port, 229 void bcm_sf2_cfp_exit(struct dsa_switch *ds); 230 int bcm_sf2_cfp_resume(struct dsa_switch *ds); 231 void bcm_sf2_cfp_get_strings(struct dsa_switch *ds, int port, 233 void bcm_sf2_cfp_get_ethtool_stats(struct dsa_switch *ds, int port, 235 int bcm_sf2_cfp_get_sset_count(struct dsa_switch *ds, int port, int sset);
|
H A D | rzn1_a5psw.c | 95 static enum dsa_tag_protocol a5psw_get_tag_protocol(struct dsa_switch *ds, in a5psw_get_tag_protocol() 187 static void a5psw_port_disable(struct dsa_switch *ds, int port) in a5psw_port_disable() 195 static int a5psw_port_enable(struct dsa_switch *ds, int port, in a5psw_port_enable() 206 static int a5psw_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu) in a5psw_port_change_mtu() 216 static int a5psw_port_max_mtu(struct dsa_switch *ds, int port) in a5psw_port_max_mtu() 221 static void a5psw_phylink_get_caps(struct dsa_switch *ds, int port, in a5psw_phylink_get_caps() 242 a5psw_phylink_mac_select_pcs(struct dsa_switch *ds, int port, in a5psw_phylink_mac_select_pcs() 254 static void a5psw_phylink_mac_link_down(struct dsa_switch *ds, int port, in a5psw_phylink_mac_link_down() 266 static void a5psw_phylink_mac_link_up(struct dsa_switch *ds, int port, in a5psw_phylink_mac_link_up() 290 static int a5psw_set_ageing_time(struct dsa_switch *ds, unsigned int msecs) in a5psw_set_ageing_time() [all …]
|
/openbmc/linux/drivers/net/dsa/hirschmann/ |
H A D | hellcreek_hwtstamp.h | 40 int hellcreek_port_hwtstamp_set(struct dsa_switch *ds, int port, 42 int hellcreek_port_hwtstamp_get(struct dsa_switch *ds, int port, 45 bool hellcreek_port_rxtstamp(struct dsa_switch *ds, int port, 47 void hellcreek_port_txtstamp(struct dsa_switch *ds, int port, 50 int hellcreek_get_ts_info(struct dsa_switch *ds, int port,
|
/openbmc/linux/include/linux/dsa/ |
H A D | 8021q.h | 11 int dsa_tag_8021q_register(struct dsa_switch *ds, __be16 proto); 13 void dsa_tag_8021q_unregister(struct dsa_switch *ds); 15 int dsa_tag_8021q_bridge_join(struct dsa_switch *ds, int port, 18 void dsa_tag_8021q_bridge_leave(struct dsa_switch *ds, int port,
|
/openbmc/linux/drivers/net/dsa/realtek/ |
H A D | realtek.h | 65 struct dsa_switch *ds; 76 int (*setup_interface)(struct dsa_switch *ds); 137 int rtl8366_vlan_add(struct dsa_switch *ds, int port, 140 int rtl8366_vlan_del(struct dsa_switch *ds, int port, 142 void rtl8366_get_strings(struct dsa_switch *ds, int port, u32 stringset, 144 int rtl8366_get_sset_count(struct dsa_switch *ds, int port, int sset); 145 void rtl8366_get_ethtool_stats(struct dsa_switch *ds, int port, uint64_t *data);
|
/openbmc/linux/drivers/net/dsa/xrs700x/ |
H A D | xrs700x.c | 86 static void xrs700x_get_strings(struct dsa_switch *ds, int port, in xrs700x_get_strings() 100 static int xrs700x_get_sset_count(struct dsa_switch *ds, int port, int sset) in xrs700x_get_sset_count() 161 static void xrs700x_get_ethtool_stats(struct dsa_switch *ds, int port, in xrs700x_get_ethtool_stats() 174 static void xrs700x_get_stats64(struct dsa_switch *ds, int port, in xrs700x_get_stats64() 228 static enum dsa_tag_protocol xrs700x_get_tag_protocol(struct dsa_switch *ds, in xrs700x_get_tag_protocol() 235 static int xrs700x_reset(struct dsa_switch *ds) in xrs700x_reset() 257 static void xrs700x_port_stp_state_set(struct dsa_switch *ds, int port, in xrs700x_port_stp_state_set() 299 static int xrs700x_port_add_bpdu_ipf(struct dsa_switch *ds, int port) in xrs700x_port_add_bpdu_ipf() 342 static int xrs700x_port_add_hsrsup_ipf(struct dsa_switch *ds, int port, in xrs700x_port_add_hsrsup_ipf() 385 static int xrs700x_port_setup(struct dsa_switch *ds, int port) in xrs700x_port_setup() [all …]
|