/linux/include/net/ |
H A D | dsa.h | 92 struct dsa_switch; 99 int (*connect)(struct dsa_switch *ds); 100 void (*disconnect)(struct dsa_switch *ds); 257 struct dsa_switch *ds; 378 struct dsa_switch { struct 512 static inline struct dsa_port *dsa_to_port(struct dsa_switch *ds, int p) in dsa_to_port() argument 550 static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p) in dsa_is_unused_port() 555 static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p) in dsa_is_cpu_port() 560 static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p) in dsa_is_dsa_port() 565 static inline bool dsa_is_user_port(struct dsa_switch *ds, int p) in dsa_is_user_port() [all …]
|
/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 | devlink.c | 31 int mv88e6xxx_devlink_param_get(struct dsa_switch *ds, u32 id, in mv88e6xxx_devlink_param_get() 53 int mv88e6xxx_devlink_param_set(struct dsa_switch *ds, u32 id, in mv88e6xxx_devlink_param_set() 81 int mv88e6xxx_setup_devlink_params(struct dsa_switch *ds) in mv88e6xxx_setup_devlink_params() 87 void mv88e6xxx_teardown_devlink_params(struct dsa_switch *ds) in mv88e6xxx_teardown_devlink_params() 176 int mv88e6xxx_setup_devlink_resources(struct dsa_switch *ds) in mv88e6xxx_setup_devlink_resources() 270 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_global_snapshot() 376 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_atu_snapshot() 438 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_vtu_snapshot() 521 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_stu_snapshot() 578 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_pvt_snapshot() [all …]
|
/linux/drivers/net/dsa/b53/ |
H A D | b53_priv.h | 122 struct dsa_switch *ds; 398 void b53_imp_vlan_setup(struct dsa_switch *ds, int cpu_port); 399 int b53_configure_vlan(struct dsa_switch *ds); 400 void b53_get_strings(struct dsa_switch *ds, int port, u32 stringset, 402 void b53_get_ethtool_stats(struct dsa_switch *ds, int port, uint64_t *data); 403 int b53_get_sset_count(struct dsa_switch *ds, int port, int sset); 404 void b53_get_ethtool_phy_stats(struct dsa_switch *ds, int port, uint64_t *data); 405 int b53_set_ageing_time(struct dsa_switch *ds, unsigned int msecs); 406 int b53_br_join(struct dsa_switch *ds, int port, struct dsa_bridge bridge, 408 void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge); [all …]
|
H A D | b53_common.c | 540 void b53_imp_vlan_setup(struct dsa_switch *ds, int cpu_port) in b53_imp_vlan_setup() 635 static void b53_eee_enable_set(struct dsa_switch *ds, int port, bool enable) in b53_eee_enable_set() 648 int b53_setup_port(struct dsa_switch *ds, int port) in b53_setup_port() 680 int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy) in b53_enable_port() 723 void b53_disable_port(struct dsa_switch *ds, int port) in b53_disable_port() 741 void b53_brcm_hdr_setup(struct dsa_switch *ds, int port) in b53_brcm_hdr_setup() 861 static bool b53_vlan_port_needs_forced_tagged(struct dsa_switch *ds, int port) in b53_vlan_port_needs_forced_tagged() 868 static bool b53_vlan_port_may_join_untagged(struct dsa_switch *ds, int port) in b53_vlan_port_may_join_untagged() 884 int b53_configure_vlan(struct dsa_switch *ds) in b53_configure_vlan() 1026 static int b53_phy_read16(struct dsa_switch *ds, int addr, int reg) in b53_phy_read16() [all …]
|
/linux/drivers/net/dsa/sja1105/ |
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_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()
|
H A D | sja1105_main.c | 87 static int sja1105_drop_untagged(struct dsa_switch *ds, int port, bool drop) in sja1105_drop_untagged() 118 static int sja1105_commit_pvid(struct dsa_switch *ds, int port) in sja1105_commit_pvid() 201 struct dsa_switch *ds = priv->ds; in sja1105_init_mac_settings() 252 struct dsa_switch *ds = priv->ds; in sja1105_init_mii_settings() 415 struct dsa_switch *ds = priv->ds; in sja1105_init_l2_lookup_params() 473 struct dsa_switch *ds = priv->ds; in sja1105_init_static_vlan() 511 struct dsa_switch *ds = priv->ds; in sja1105_init_l2_forwarding() 645 struct dsa_switch *ds = priv->ds; in sja1110_init_pcp_remapping() 794 struct dsa_switch *ds = priv->ds; in sja1105_init_topology() 1010 struct dsa_switch *ds = priv->ds; in sja1105_init_l2_policing() [all …]
|
/linux/drivers/net/dsa/microchip/ |
H A D | ksz_dcb.h | 11 int ksz_port_get_default_prio(struct dsa_switch *ds, int port); 12 int ksz_port_set_default_prio(struct dsa_switch *ds, int port, u8 prio); 13 int ksz_port_get_dscp_prio(struct dsa_switch *ds, int port, u8 dscp); 14 int ksz_port_add_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, u8 prio); 15 int ksz_port_del_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, u8 prio); 16 int ksz_port_set_apptrust(struct dsa_switch *ds, int port, 19 int ksz_port_get_apptrust(struct dsa_switch *ds, int port, u8 *sel, int *nsel);
|
H A D | ksz_dcb.c | 182 int ksz_port_get_default_prio(struct dsa_switch *ds, int port) in ksz_port_get_default_prio() 209 int ksz_port_set_default_prio(struct dsa_switch *ds, int port, u8 prio) in ksz_port_set_default_prio() 236 int ksz_port_get_dscp_prio(struct dsa_switch *ds, int port, u8 dscp) in ksz_port_get_dscp_prio() 361 int ksz_port_add_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, u8 prio) in ksz_port_add_dscp_prio() 381 int ksz_port_del_dscp_prio(struct dsa_switch *ds, int port, u8 dscp, u8 prio) in ksz_port_del_dscp_prio() 498 int ksz_port_set_apptrust(struct dsa_switch *ds, int port, in ksz_port_set_apptrust() 541 int ksz_port_get_apptrust(struct dsa_switch *ds, int port, u8 *sel, int *nsel) in ksz_port_get_apptrust()
|
/linux/net/dsa/ |
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() 314 void dsa_tag_8021q_bridge_leave(struct dsa_switch *ds, int port, in dsa_tag_8021q_bridge_leave() 339 static int dsa_tag_8021q_port_setup(struct dsa_switch *ds, int port) in dsa_tag_8021q_port_setup() 369 static void dsa_tag_8021q_port_teardown(struct dsa_switch *ds, int port) in dsa_tag_8021q_port_teardown() 389 static int dsa_tag_8021q_setup(struct dsa_switch *ds) in dsa_tag_8021q_setup() [all …]
|
H A D | user.c | 68 static bool dsa_switch_supports_uc_filtering(struct dsa_switch *ds) in dsa_switch_supports_uc_filtering() 75 static bool dsa_switch_supports_mc_filtering(struct dsa_switch *ds) in dsa_switch_supports_mc_filtering() 90 struct dsa_switch *ds = dp->ds; in dsa_user_standalone_event_work() 279 struct dsa_switch *ds = dp->ds; in dsa_user_sync_ha() 300 struct dsa_switch *ds = dp->ds; in dsa_user_unsync_ha() 321 struct dsa_switch *ds = bus->priv; in dsa_user_phy_read() 331 struct dsa_switch *ds = bus->priv; in dsa_user_phy_write() 339 void dsa_user_mii_bus_init(struct dsa_switch *ds) in dsa_user_mii_bus_init() 362 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_install() 390 struct dsa_switch *ds = dp->ds; in dsa_user_host_uc_uninstall() [all …]
|
H A D | dsa.c | 179 struct dsa_switch *dsa_switch_find(int tree_index, int sw_index) in dsa_switch_find() 290 struct dsa_switch *ds = dp->ds; in dsa_link_touch() 315 struct dsa_switch *ds = dp->ds; in dsa_port_setup_routing_table() 406 dsa_switch_preferred_default_local_cpu_port(struct dsa_switch *ds) in dsa_switch_preferred_default_local_cpu_port() 466 struct dsa_switch *ds = dp->ds; in dsa_port_setup() 574 static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds) in dsa_switch_setup_tag_protocol() 618 static void dsa_switch_teardown_tag_protocol(struct dsa_switch *ds) in dsa_switch_teardown_tag_protocol() 626 static int dsa_switch_setup(struct dsa_switch *ds) in dsa_switch_setup() 690 static void dsa_switch_teardown(struct dsa_switch *ds) in dsa_switch_teardown() 1091 static struct dsa_port *dsa_port_touch(struct dsa_switch *ds, int index) in dsa_port_touch() [all …]
|
/linux/drivers/net/dsa/ocelot/ |
H A D | felix.h | 57 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_conduit)(struct dsa_switch *ds, int port, 87 struct dsa_switch *ds;
|
/linux/include/linux/dsa/ |
H A D | 8021q.h | 16 int dsa_tag_8021q_register(struct dsa_switch *ds, __be16 proto); 18 void dsa_tag_8021q_unregister(struct dsa_switch *ds); 20 int dsa_tag_8021q_bridge_join(struct dsa_switch *ds, int port, 24 void dsa_tag_8021q_bridge_leave(struct dsa_switch *ds, int port,
|
H A D | tag_qca.h | 8 struct dsa_switch; 81 void (*rw_reg_ack_handler)(struct dsa_switch *ds, 83 void (*mib_autocast_handler)(struct dsa_switch *ds,
|
/linux/drivers/net/dsa/realtek/ |
H A D | realtek.h | 67 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);
|
/linux/drivers/net/dsa/ |
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() 300 static int a5psw_set_ageing_time(struct dsa_switch *ds, unsigned int msecs) in a5psw_set_ageing_time() 358 static int a5psw_port_bridge_join(struct dsa_switch *ds, int port, in a5psw_port_bridge_join() 380 static void a5psw_port_bridge_leave(struct dsa_switch *ds, int port, in a5psw_port_bridge_leave() 394 static int a5psw_port_pre_bridge_flags(struct dsa_switch *ds, int port, in a5psw_port_pre_bridge_flags() [all …]
|
H A D | mv88e6060.c | 45 static enum dsa_tag_protocol mv88e6060_get_tag_protocol(struct dsa_switch *ds, in mv88e6060_get_tag_protocol() 187 static int mv88e6060_setup(struct dsa_switch *ds) in mv88e6060_setup() 225 static int mv88e6060_phy_read(struct dsa_switch *ds, int port, int regnum) in mv88e6060_phy_read() 238 mv88e6060_phy_write(struct dsa_switch *ds, int port, int regnum, u16 val) in mv88e6060_phy_write() 250 static void mv88e6060_phylink_get_caps(struct dsa_switch *ds, int port, in mv88e6060_phylink_get_caps() 306 struct dsa_switch *ds; in mv88e6060_probe() 339 struct dsa_switch *ds = dev_get_drvdata(&mdiodev->dev); in mv88e6060_remove() 349 struct dsa_switch *ds = dev_get_drvdata(&mdiodev->dev); in mv88e6060_shutdown()
|
H A D | mt7530.c | 361 mt753x_preferred_default_local_cpu_port(struct dsa_switch *ds) in mt753x_preferred_default_local_cpu_port() 373 mt7530_setup_port6(struct dsa_switch *ds, phy_interface_t interface) in mt7530_setup_port6() 514 mt7530_mib_reset(struct dsa_switch *ds) in mt7530_mib_reset() 748 mt7530_get_strings(struct dsa_switch *ds, int port, u32 stringset, in mt7530_get_strings() 776 mt7530_get_ethtool_stats(struct dsa_switch *ds, int port, in mt7530_get_ethtool_stats() 792 mt7530_get_sset_count(struct dsa_switch *ds, int port, int sset) in mt7530_get_sset_count() 800 static void mt7530_get_eth_mac_stats(struct dsa_switch *ds, int port, in mt7530_get_eth_mac_stats() 865 static void mt7530_get_rmon_stats(struct dsa_switch *ds, int port, in mt7530_get_rmon_stats() 909 static void mt7530_get_stats64(struct dsa_switch *ds, int port, in mt7530_get_stats64() 954 static void mt7530_get_eth_ctrl_stats(struct dsa_switch *ds, int port, in mt7530_get_eth_ctrl_stats() [all …]
|
H A D | bcm_sf2.c | 116 static unsigned int bcm_sf2_num_active_ports(struct dsa_switch *ds) in bcm_sf2_num_active_ports() 131 static void bcm_sf2_recalc_clock(struct dsa_switch *ds) in bcm_sf2_recalc_clock() 158 static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port) in bcm_sf2_imp_setup() 202 static void bcm_sf2_gphy_enable_set(struct dsa_switch *ds, bool enable) in bcm_sf2_gphy_enable_set() 280 static int bcm_sf2_port_setup(struct dsa_switch *ds, int port, in bcm_sf2_port_setup() 349 static void bcm_sf2_port_disable(struct dsa_switch *ds, int port) in bcm_sf2_port_disable() 442 struct dsa_switch *ds = dev_id; in bcm_sf2_switch_0_isr() 454 struct dsa_switch *ds = dev_id; in bcm_sf2_switch_1_isr() 607 static int bcm_sf2_mdio_register(struct dsa_switch *ds) in bcm_sf2_mdio_register() 708 static u32 bcm_sf2_sw_get_phy_flags(struct dsa_switch *ds, int port) in bcm_sf2_sw_get_phy_flags() [all …]
|
H A D | lan9303-core.c | 937 static enum dsa_tag_protocol lan9303_get_tag_protocol(struct dsa_switch *ds, in lan9303_get_tag_protocol() 944 static int lan9303_setup(struct dsa_switch *ds) in lan9303_setup() 1036 static void lan9303_get_strings(struct dsa_switch *ds, int port, in lan9303_get_strings() 1049 static void lan9303_get_ethtool_stats(struct dsa_switch *ds, int port, in lan9303_get_ethtool_stats() 1071 static int lan9303_get_sset_count(struct dsa_switch *ds, int port, int sset) in lan9303_get_sset_count() 1079 static int lan9303_phy_read(struct dsa_switch *ds, int port, int regnum) in lan9303_phy_read() 1092 static int lan9303_phy_write(struct dsa_switch *ds, int port, int regnum, in lan9303_phy_write() 1106 static int lan9303_port_enable(struct dsa_switch *ds, int port, in lan9303_port_enable() 1120 static void lan9303_port_disable(struct dsa_switch *ds, int port) in lan9303_port_disable() 1134 static int lan9303_port_bridge_join(struct dsa_switch *ds, int port, in lan9303_port_bridge_join() [all …]
|
/linux/drivers/net/dsa/hirschmann/ |
H A D | hellcreek.c | 240 static enum dsa_tag_protocol hellcreek_get_tag_protocol(struct dsa_switch *ds, in hellcreek_get_tag_protocol() 247 static int hellcreek_port_enable(struct dsa_switch *ds, int port, in hellcreek_port_enable() 271 static void hellcreek_port_disable(struct dsa_switch *ds, int port) in hellcreek_port_disable() 292 static void hellcreek_get_strings(struct dsa_switch *ds, int port, in hellcreek_get_strings() 301 static int hellcreek_get_sset_count(struct dsa_switch *ds, int port, int sset) in hellcreek_get_sset_count() 309 static void hellcreek_get_ethtool_stats(struct dsa_switch *ds, int port, in hellcreek_get_ethtool_stats() 348 static int hellcreek_vlan_prepare(struct dsa_switch *ds, int port, in hellcreek_vlan_prepare() 455 static int hellcreek_vlan_add(struct dsa_switch *ds, int port, in hellcreek_vlan_add() 477 static int hellcreek_vlan_del(struct dsa_switch *ds, int port, in hellcreek_vlan_del() 489 static void hellcreek_port_stp_state_set(struct dsa_switch *ds, int port, in hellcreek_port_stp_state_set() [all …]
|