Lines Matching refs:ds

95 static void bcm_sf2_sw_get_strings(struct dsa_switch *ds,  in bcm_sf2_sw_get_strings()  argument
105 static void bcm_sf2_sw_get_ethtool_stats(struct dsa_switch *ds, in bcm_sf2_sw_get_ethtool_stats() argument
108 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_ethtool_stats()
133 static int bcm_sf2_sw_get_sset_count(struct dsa_switch *ds) in bcm_sf2_sw_get_sset_count() argument
143 static void bcm_sf2_imp_vlan_setup(struct dsa_switch *ds, int cpu_port) in bcm_sf2_imp_vlan_setup() argument
145 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_imp_vlan_setup()
154 if (!((1 << i) & ds->phys_port_mask)) in bcm_sf2_imp_vlan_setup()
163 static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port) in bcm_sf2_imp_setup() argument
165 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_imp_setup()
228 static void bcm_sf2_eee_enable_set(struct dsa_switch *ds, int port, bool enable) in bcm_sf2_eee_enable_set() argument
230 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_eee_enable_set()
241 static void bcm_sf2_gphy_enable_set(struct dsa_switch *ds, bool enable) in bcm_sf2_gphy_enable_set() argument
243 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_gphy_enable_set()
314 static int bcm_sf2_port_setup(struct dsa_switch *ds, int port, in bcm_sf2_port_setup() argument
317 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_port_setup()
318 s8 cpu_port = ds->dst[ds->index].cpu_port; in bcm_sf2_port_setup()
331 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_port_setup()
361 bcm_sf2_imp_vlan_setup(ds, cpu_port); in bcm_sf2_port_setup()
365 bcm_sf2_eee_enable_set(ds, port, true); in bcm_sf2_port_setup()
370 static void bcm_sf2_port_disable(struct dsa_switch *ds, int port, in bcm_sf2_port_disable() argument
373 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_port_disable()
383 bcm_sf2_gphy_enable_set(ds, false); in bcm_sf2_port_disable()
385 if (dsa_is_cpu_port(ds, port)) in bcm_sf2_port_disable()
402 static int bcm_sf2_eee_init(struct dsa_switch *ds, int port, in bcm_sf2_eee_init() argument
405 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_eee_init()
415 bcm_sf2_eee_enable_set(ds, port, true); in bcm_sf2_eee_init()
420 static int bcm_sf2_sw_get_eee(struct dsa_switch *ds, int port, in bcm_sf2_sw_get_eee() argument
423 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_eee()
434 static int bcm_sf2_sw_set_eee(struct dsa_switch *ds, int port, in bcm_sf2_sw_set_eee() argument
438 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_set_eee()
444 bcm_sf2_eee_enable_set(ds, port, false); in bcm_sf2_sw_set_eee()
446 p->eee_enabled = bcm_sf2_eee_init(ds, port, phydev); in bcm_sf2_sw_set_eee()
457 static int bcm_sf2_sw_fast_age_port(struct dsa_switch *ds, int port) in bcm_sf2_sw_fast_age_port() argument
459 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fast_age_port()
485 static int bcm_sf2_sw_br_join(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_join() argument
488 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_join()
518 static int bcm_sf2_sw_br_leave(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_leave() argument
521 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_leave()
548 static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_set_stp_state() argument
551 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_set_stp_state()
587 ret = bcm_sf2_sw_fast_age_port(ds, port); in bcm_sf2_sw_br_set_stp_state()
723 static int bcm_sf2_sw_fdb_prepare(struct dsa_switch *ds, int port, in bcm_sf2_sw_fdb_prepare() argument
731 static int bcm_sf2_sw_fdb_add(struct dsa_switch *ds, int port, in bcm_sf2_sw_fdb_add() argument
735 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fdb_add()
740 static int bcm_sf2_sw_fdb_del(struct dsa_switch *ds, int port, in bcm_sf2_sw_fdb_del() argument
743 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fdb_del()
796 static int bcm_sf2_sw_fdb_dump(struct dsa_switch *ds, int port, in bcm_sf2_sw_fdb_dump() argument
800 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fdb_dump()
801 struct net_device *dev = ds->ports[port]; in bcm_sf2_sw_fdb_dump()
929 static int bcm_sf2_sw_setup(struct dsa_switch *ds) in bcm_sf2_sw_setup() argument
932 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_setup()
946 dn = ds->pd->of_node->parent; in bcm_sf2_sw_setup()
947 bcm_sf2_identify_ports(priv, ds->pd->of_node); in bcm_sf2_sw_setup()
1006 if ((1 << port) & ds->phys_port_mask) in bcm_sf2_sw_setup()
1007 bcm_sf2_port_setup(ds, port, NULL); in bcm_sf2_sw_setup()
1008 else if (dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_setup()
1009 bcm_sf2_imp_setup(ds, port); in bcm_sf2_sw_setup()
1011 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_setup()
1026 ds->phys_mii_mask |= ((1 << BRCM_PSEUDO_PHY_ADDR) | (1 << 0)); in bcm_sf2_sw_setup()
1028 ds->phys_mii_mask = 0; in bcm_sf2_sw_setup()
1057 static int bcm_sf2_sw_set_addr(struct dsa_switch *ds, u8 *addr) in bcm_sf2_sw_set_addr() argument
1062 static u32 bcm_sf2_sw_get_phy_flags(struct dsa_switch *ds, int port) in bcm_sf2_sw_get_phy_flags() argument
1064 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_phy_flags()
1074 static int bcm_sf2_sw_indir_rw(struct dsa_switch *ds, int op, int addr, in bcm_sf2_sw_indir_rw() argument
1077 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_indir_rw()
1106 static int bcm_sf2_sw_phy_read(struct dsa_switch *ds, int addr, int regnum) in bcm_sf2_sw_phy_read() argument
1114 return bcm_sf2_sw_indir_rw(ds, 1, addr, regnum, 0); in bcm_sf2_sw_phy_read()
1120 static int bcm_sf2_sw_phy_write(struct dsa_switch *ds, int addr, int regnum, in bcm_sf2_sw_phy_write() argument
1129 bcm_sf2_sw_indir_rw(ds, 0, addr, regnum, val); in bcm_sf2_sw_phy_write()
1136 static void bcm_sf2_sw_adjust_link(struct dsa_switch *ds, int port, in bcm_sf2_sw_adjust_link() argument
1139 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_adjust_link()
1216 static void bcm_sf2_sw_fixed_link_update(struct dsa_switch *ds, int port, in bcm_sf2_sw_fixed_link_update() argument
1219 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fixed_link_update()
1244 netif_carrier_off(ds->ports[port]); in bcm_sf2_sw_fixed_link_update()
1269 static int bcm_sf2_sw_suspend(struct dsa_switch *ds) in bcm_sf2_sw_suspend() argument
1271 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_suspend()
1281 if ((1 << port) & ds->phys_port_mask || in bcm_sf2_sw_suspend()
1282 dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_suspend()
1283 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_suspend()
1289 static int bcm_sf2_sw_resume(struct dsa_switch *ds) in bcm_sf2_sw_resume() argument
1291 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_resume()
1302 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_sw_resume()
1305 if ((1 << port) & ds->phys_port_mask) in bcm_sf2_sw_resume()
1306 bcm_sf2_port_setup(ds, port, NULL); in bcm_sf2_sw_resume()
1307 else if (dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_resume()
1308 bcm_sf2_imp_setup(ds, port); in bcm_sf2_sw_resume()
1314 static void bcm_sf2_sw_get_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_get_wol() argument
1317 struct net_device *p = ds->dst[ds->index].master_netdev; in bcm_sf2_sw_get_wol()
1318 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_wol()
1337 static int bcm_sf2_sw_set_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_set_wol() argument
1340 struct net_device *p = ds->dst[ds->index].master_netdev; in bcm_sf2_sw_set_wol()
1341 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_set_wol()
1342 s8 cpu_port = ds->dst[ds->index].cpu_port; in bcm_sf2_sw_set_wol()