Home
last modified time | relevance | path

Searched refs:dsa_switch (Results 1 – 25 of 100) sorted by relevance

1234

/linux/include/net/
H A Ddsa.h98 struct dsa_switch;
105 int (*connect)(struct dsa_switch *ds);
106 void (*disconnect)(struct dsa_switch *ds);
257 struct dsa_switch *ds;
379 struct dsa_switch { struct
513 static inline struct dsa_port *dsa_to_port(struct dsa_switch *ds, int p) in dsa_to_port() argument
551 static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p) in dsa_is_unused_port()
556 static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p) in dsa_is_cpu_port()
561 static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p) in dsa_is_dsa_port()
566 static inline bool dsa_is_user_port(struct dsa_switch *ds, int p) in dsa_is_user_port()
[all …]
/linux/drivers/net/dsa/sja1105/
H A Dsja1105_ptp.h93 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,
118 int sja1105_hwtstamp_set(struct dsa_switch *ds, int port,
122 int __sja1105_ptp_gettimex(struct dsa_switch *ds, u64 *ns,
125 int __sja1105_ptp_settime(struct dsa_switch *ds, u64 ns,
[all …]
H A Dsja1105_tas.h53 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 Dsja1105.h142 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 Dsja1105_devlink.c41 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()
108 static void sja1105_teardown_devlink_regions(struct dsa_switch *ds) in sja1105_teardown_devlink_regions()
119 int sja1105_devlink_info_get(struct dsa_switch *ds, in sja1105_devlink_info_get()
130 int sja1105_devlink_setup(struct dsa_switch *ds) in sja1105_devlink_setup()
135 void sja1105_devlink_teardown(struct dsa_switch *ds) in sja1105_devlink_teardown()
/linux/drivers/net/dsa/microchip/
H A Dksz_ptp.h36 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,
44 int ksz_hwtstamp_set(struct dsa_switch *ds, int port,
47 void ksz_port_txtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb);
49 bool ksz_port_rxtstamp(struct dsa_switch *ds, int port, struct sk_buff *skb,
51 int ksz_ptp_irq_setup(struct dsa_switch *ds, u8 p);
52 void ksz_ptp_irq_free(struct dsa_switch *ds, u8 p);
61 static inline int ksz_ptp_clock_register(struct dsa_switch *ds) in ksz_ptp_clock_register()
[all …]
H A Dksz_dcb.h11 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);
/linux/drivers/net/dsa/mv88e6xxx/
H A Ddevlink.h8 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 Dhwtstamp.h113 int mv88e6xxx_port_hwtstamp_set(struct dsa_switch *ds, int port,
116 int mv88e6xxx_port_hwtstamp_get(struct dsa_switch *ds, int port,
119 bool mv88e6xxx_port_rxtstamp(struct dsa_switch *ds, int port,
121 void mv88e6xxx_port_txtstamp(struct dsa_switch *ds, int port,
124 int mv88e6xxx_get_ts_info(struct dsa_switch *ds, int port,
138 mv88e6xxx_port_hwtstamp_set(struct dsa_switch *ds, int port, in mv88e6xxx_port_hwtstamp_set()
146 mv88e6xxx_port_hwtstamp_get(struct dsa_switch *ds, int port, in mv88e6xxx_port_hwtstamp_get()
152 static inline bool mv88e6xxx_port_rxtstamp(struct dsa_switch *ds, int port, in mv88e6xxx_port_rxtstamp()
159 static inline void mv88e6xxx_port_txtstamp(struct dsa_switch *ds, int port, in mv88e6xxx_port_txtstamp()
164 static inline int mv88e6xxx_get_ts_info(struct dsa_switch *ds, int port, in mv88e6xxx_get_ts_info()
H A Ddevlink.c31 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()
437 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_vtu_snapshot()
519 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_stu_snapshot()
575 struct dsa_switch *ds = dsa_devlink_to_ds(dl); in mv88e6xxx_region_pvt_snapshot()
[all …]
/linux/net/dsa/
H A Ddevlink.c15 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 Dswitch.c23 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 Ddevlink.h7 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 Dtag_8021q.c74 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 Dport.c57 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()
120 struct dsa_switch *ds = dp->ds; in dsa_port_supports_hwtstamp()
133 struct dsa_switch *ds = dp->ds; in dsa_port_set_state()
167 struct dsa_switch *ds = dp->ds; in dsa_port_set_state_now()
181 struct dsa_switch *ds = dp->ds; in dsa_port_set_mst_state()
215 struct dsa_switch *ds = dp->ds; in dsa_port_enable_rt()
247 struct dsa_switch *ds = dp->ds; in dsa_port_disable_rt()
272 struct dsa_switch *ds = dp->ds; in dsa_port_reset_vlan_filtering()
[all …]
/linux/drivers/net/dsa/b53/
H A Db53_priv.h133 struct dsa_switch *ds;
491 void b53_imp_vlan_setup(struct dsa_switch *ds, int cpu_port);
492 int b53_configure_vlan(struct dsa_switch *ds);
493 void b53_get_strings(struct dsa_switch *ds, int port, u32 stringset,
495 void b53_get_ethtool_stats(struct dsa_switch *ds, int port, uint64_t *data);
496 int b53_get_sset_count(struct dsa_switch *ds, int port, int sset);
497 void b53_get_ethtool_phy_stats(struct dsa_switch *ds, int port, uint64_t *data);
498 int b53_set_ageing_time(struct dsa_switch *ds, unsigned int msecs);
499 int b53_br_join(struct dsa_switch *ds, int port, struct dsa_bridge bridge,
501 void b53_br_leave(struct dsa_switch *ds, int port, struct dsa_bridge bridge);
[all …]
/linux/drivers/net/dsa/ocelot/
H A Dfelix.c45 static int felix_cpu_port_for_conduit(struct dsa_switch *ds, in felix_cpu_port_for_conduit()
101 static int felix_tag_8021q_vlan_add_rx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_add_rx()
149 static int felix_tag_8021q_vlan_del_rx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_del_rx()
171 static int felix_tag_8021q_vlan_add_tx(struct dsa_switch *ds, int port, in felix_tag_8021q_vlan_add_tx()
238 static int felix_tag_8021q_vlan_del_tx(struct dsa_switch *ds, int port, u16 vid) in felix_tag_8021q_vlan_del_tx()
269 static int felix_tag_8021q_vlan_add(struct dsa_switch *ds, int port, u16 vid, in felix_tag_8021q_vlan_add()
303 static int felix_tag_8021q_vlan_del(struct dsa_switch *ds, int port, u16 vid) in felix_tag_8021q_vlan_del()
332 static int felix_update_tag_8021q_rx_rules(struct dsa_switch *ds, int port, in felix_update_tag_8021q_rx_rules()
361 static int felix_trap_get_cpu_port(struct dsa_switch *ds, in felix_trap_get_cpu_port()
380 static int felix_update_trapping_destinations(struct dsa_switch *ds, in felix_update_trapping_destinations()
[all …]
H A Dfelix.h58 int (*port_setup_tc)(struct dsa_switch *ds, int port,
78 int (*setup)(struct dsa_switch *ds);
79 void (*teardown)(struct dsa_switch *ds);
80 unsigned long (*get_host_fwd_mask)(struct dsa_switch *ds);
81 int (*change_conduit)(struct dsa_switch *ds, int port,
88 struct dsa_switch *ds;
/linux/drivers/net/dsa/qca/
H A Dqca8k.h378 int (*autocast_mib)(struct dsa_switch *ds, int port, u64 *data);
459 struct dsa_switch *ds;
516 void qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, uint8_t *data);
517 void qca8k_get_ethtool_stats(struct dsa_switch *ds, int port,
519 int qca8k_get_sset_count(struct dsa_switch *ds, int port, int sset);
522 int qca8k_set_mac_eee(struct dsa_switch *ds, int port, struct ethtool_keee *eee);
525 void qca8k_port_stp_state_set(struct dsa_switch *ds, int port, u8 state);
526 int qca8k_port_pre_bridge_flags(struct dsa_switch *ds, int port,
529 int qca8k_port_bridge_flags(struct dsa_switch *ds, int port,
532 int qca8k_port_bridge_join(struct dsa_switch *ds, int port,
[all …]
H A Dqca8k-common.c480 void qca8k_get_strings(struct dsa_switch *ds, int port, u32 stringset, in qca8k_get_strings()
493 void qca8k_get_ethtool_stats(struct dsa_switch *ds, int port, in qca8k_get_ethtool_stats()
526 int qca8k_get_sset_count(struct dsa_switch *ds, int port, int sset) in qca8k_get_sset_count()
536 int qca8k_set_mac_eee(struct dsa_switch *ds, int port, in qca8k_set_mac_eee()
560 static int qca8k_port_configure_learning(struct dsa_switch *ds, int port, in qca8k_port_configure_learning()
575 void qca8k_port_stp_state_set(struct dsa_switch *ds, int port, u8 state) in qca8k_port_stp_state_set()
656 int qca8k_port_pre_bridge_flags(struct dsa_switch *ds, int port, in qca8k_port_pre_bridge_flags()
666 int qca8k_port_bridge_flags(struct dsa_switch *ds, int port, in qca8k_port_bridge_flags()
697 int qca8k_port_bridge_join(struct dsa_switch *ds, int port, in qca8k_port_bridge_join()
707 void qca8k_port_bridge_leave(struct dsa_switch *ds, int port, in qca8k_port_bridge_leave()
[all …]
/linux/drivers/net/dsa/
H A Ddsa_loop.c63 static int dsa_loop_setup_devlink_resources(struct dsa_switch *ds) in dsa_loop_setup_devlink_resources()
91 static enum dsa_tag_protocol dsa_loop_get_protocol(struct dsa_switch *ds, in dsa_loop_get_protocol()
100 static int dsa_loop_setup(struct dsa_switch *ds) in dsa_loop_setup()
114 static void dsa_loop_teardown(struct dsa_switch *ds) in dsa_loop_teardown()
119 static int dsa_loop_get_sset_count(struct dsa_switch *ds, int port, int sset) in dsa_loop_get_sset_count()
127 static void dsa_loop_get_strings(struct dsa_switch *ds, int port, in dsa_loop_get_strings()
140 static void dsa_loop_get_ethtool_stats(struct dsa_switch *ds, int port, in dsa_loop_get_ethtool_stats()
150 static int dsa_loop_phy_read(struct dsa_switch *ds, int port, int regnum) in dsa_loop_phy_read()
165 static int dsa_loop_phy_write(struct dsa_switch *ds, int port, in dsa_loop_phy_write()
181 static int dsa_loop_port_bridge_join(struct dsa_switch *ds, int port, in dsa_loop_port_bridge_join()
[all …]
H A Dbcm_sf2.h121 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, u32 stringset,
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);
/linux/drivers/net/dsa/mxl862xx/
H A Dmxl862xx.c39 static enum dsa_tag_protocol mxl862xx_get_tag_protocol(struct dsa_switch *ds, in mxl862xx_get_tag_protocol()
100 static int mxl862xx_wait_ready(struct dsa_switch *ds) in mxl862xx_wait_ready()
139 static int mxl862xx_setup_mdio(struct dsa_switch *ds) in mxl862xx_setup_mdio()
171 static int mxl862xx_setup(struct dsa_switch *ds) in mxl862xx_setup()
187 static int mxl862xx_port_state(struct dsa_switch *ds, int port, bool enable) in mxl862xx_port_state()
208 static int mxl862xx_port_enable(struct dsa_switch *ds, int port, in mxl862xx_port_enable()
214 static void mxl862xx_port_disable(struct dsa_switch *ds, int port) in mxl862xx_port_disable()
220 static void mxl862xx_port_fast_age(struct dsa_switch *ds, int port) in mxl862xx_port_fast_age()
231 static int mxl862xx_configure_ctp_port(struct dsa_switch *ds, int port, in mxl862xx_configure_ctp_port()
246 static int mxl862xx_configure_sp_tag_proto(struct dsa_switch *ds, int port, in mxl862xx_configure_sp_tag_proto()
[all …]
/linux/drivers/net/dsa/hirschmann/
H A Dhellcreek_hwtstamp.h40 int hellcreek_port_hwtstamp_set(struct dsa_switch *ds, int port,
43 int hellcreek_port_hwtstamp_get(struct dsa_switch *ds, int port,
46 bool hellcreek_port_rxtstamp(struct dsa_switch *ds, int port,
48 void hellcreek_port_txtstamp(struct dsa_switch *ds, int port,
51 int hellcreek_get_ts_info(struct dsa_switch *ds, int port,
/linux/include/linux/dsa/
H A D8021q.h16 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,

1234