Lines Matching refs:ds

91 static void bcm_sf2_sw_get_strings(struct dsa_switch *ds,  in bcm_sf2_sw_get_strings()  argument
101 static void bcm_sf2_sw_get_ethtool_stats(struct dsa_switch *ds, in bcm_sf2_sw_get_ethtool_stats() argument
104 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_ethtool_stats()
129 static int bcm_sf2_sw_get_sset_count(struct dsa_switch *ds) in bcm_sf2_sw_get_sset_count() argument
139 static void bcm_sf2_imp_vlan_setup(struct dsa_switch *ds, int cpu_port) in bcm_sf2_imp_vlan_setup() argument
141 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_imp_vlan_setup()
150 if (!((1 << i) & ds->phys_port_mask)) in bcm_sf2_imp_vlan_setup()
159 static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port) in bcm_sf2_imp_setup() argument
161 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_imp_setup()
224 static void bcm_sf2_eee_enable_set(struct dsa_switch *ds, int port, bool enable) in bcm_sf2_eee_enable_set() argument
226 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_eee_enable_set()
237 static void bcm_sf2_gphy_enable_set(struct dsa_switch *ds, bool enable) in bcm_sf2_gphy_enable_set() argument
239 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_gphy_enable_set()
266 static int bcm_sf2_port_setup(struct dsa_switch *ds, int port, in bcm_sf2_port_setup() argument
269 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_port_setup()
270 s8 cpu_port = ds->dst[ds->index].cpu_port; in bcm_sf2_port_setup()
283 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_port_setup()
313 bcm_sf2_imp_vlan_setup(ds, cpu_port); in bcm_sf2_port_setup()
317 bcm_sf2_eee_enable_set(ds, port, true); in bcm_sf2_port_setup()
322 static void bcm_sf2_port_disable(struct dsa_switch *ds, int port, in bcm_sf2_port_disable() argument
325 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_port_disable()
337 bcm_sf2_gphy_enable_set(ds, false); in bcm_sf2_port_disable()
339 if (dsa_is_cpu_port(ds, port)) in bcm_sf2_port_disable()
356 static int bcm_sf2_eee_init(struct dsa_switch *ds, int port, in bcm_sf2_eee_init() argument
359 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_eee_init()
369 bcm_sf2_eee_enable_set(ds, port, true); in bcm_sf2_eee_init()
374 static int bcm_sf2_sw_get_eee(struct dsa_switch *ds, int port, in bcm_sf2_sw_get_eee() argument
377 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_eee()
388 static int bcm_sf2_sw_set_eee(struct dsa_switch *ds, int port, in bcm_sf2_sw_set_eee() argument
392 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_set_eee()
398 bcm_sf2_eee_enable_set(ds, port, false); in bcm_sf2_sw_set_eee()
400 p->eee_enabled = bcm_sf2_eee_init(ds, port, phydev); in bcm_sf2_sw_set_eee()
411 static int bcm_sf2_sw_fast_age_port(struct dsa_switch *ds, int port) in bcm_sf2_sw_fast_age_port() argument
413 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fast_age_port()
439 static int bcm_sf2_sw_br_join(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_join() argument
442 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_join()
472 static int bcm_sf2_sw_br_leave(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_leave() argument
475 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_leave()
502 static int bcm_sf2_sw_br_set_stp_state(struct dsa_switch *ds, int port, in bcm_sf2_sw_br_set_stp_state() argument
505 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_br_set_stp_state()
541 ret = bcm_sf2_sw_fast_age_port(ds, port); in bcm_sf2_sw_br_set_stp_state()
617 static int bcm_sf2_sw_setup(struct dsa_switch *ds) in bcm_sf2_sw_setup() argument
620 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_setup()
634 dn = ds->pd->of_node->parent; in bcm_sf2_sw_setup()
693 if ((1 << port) & ds->phys_port_mask) in bcm_sf2_sw_setup()
694 bcm_sf2_port_setup(ds, port, NULL); in bcm_sf2_sw_setup()
695 else if (dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_setup()
696 bcm_sf2_imp_setup(ds, port); in bcm_sf2_sw_setup()
698 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_setup()
704 ds->phys_mii_mask |= ((1 << 30) | (1 << 0)); in bcm_sf2_sw_setup()
733 static int bcm_sf2_sw_set_addr(struct dsa_switch *ds, u8 *addr) in bcm_sf2_sw_set_addr() argument
738 static u32 bcm_sf2_sw_get_phy_flags(struct dsa_switch *ds, int port) in bcm_sf2_sw_get_phy_flags() argument
740 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_phy_flags()
750 static int bcm_sf2_sw_indir_rw(struct dsa_switch *ds, int op, int addr, in bcm_sf2_sw_indir_rw() argument
753 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_indir_rw()
782 static int bcm_sf2_sw_phy_read(struct dsa_switch *ds, int addr, int regnum) in bcm_sf2_sw_phy_read() argument
790 return bcm_sf2_sw_indir_rw(ds, 1, addr, regnum, 0); in bcm_sf2_sw_phy_read()
796 static int bcm_sf2_sw_phy_write(struct dsa_switch *ds, int addr, int regnum, in bcm_sf2_sw_phy_write() argument
805 bcm_sf2_sw_indir_rw(ds, 0, addr, regnum, val); in bcm_sf2_sw_phy_write()
812 static void bcm_sf2_sw_adjust_link(struct dsa_switch *ds, int port, in bcm_sf2_sw_adjust_link() argument
815 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_adjust_link()
892 static void bcm_sf2_sw_fixed_link_update(struct dsa_switch *ds, int port, in bcm_sf2_sw_fixed_link_update() argument
895 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_fixed_link_update()
938 static int bcm_sf2_sw_suspend(struct dsa_switch *ds) in bcm_sf2_sw_suspend() argument
940 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_suspend()
950 if ((1 << port) & ds->phys_port_mask || in bcm_sf2_sw_suspend()
951 dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_suspend()
952 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_suspend()
958 static int bcm_sf2_sw_resume(struct dsa_switch *ds) in bcm_sf2_sw_resume() argument
960 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_resume()
971 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_sw_resume()
974 if ((1 << port) & ds->phys_port_mask) in bcm_sf2_sw_resume()
975 bcm_sf2_port_setup(ds, port, NULL); in bcm_sf2_sw_resume()
976 else if (dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_resume()
977 bcm_sf2_imp_setup(ds, port); in bcm_sf2_sw_resume()
983 static void bcm_sf2_sw_get_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_get_wol() argument
986 struct net_device *p = ds->dst[ds->index].master_netdev; in bcm_sf2_sw_get_wol()
987 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_get_wol()
1006 static int bcm_sf2_sw_set_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_set_wol() argument
1009 struct net_device *p = ds->dst[ds->index].master_netdev; in bcm_sf2_sw_set_wol()
1010 struct bcm_sf2_priv *priv = ds_to_priv(ds); in bcm_sf2_sw_set_wol()
1011 s8 cpu_port = ds->dst[ds->index].cpu_port; in bcm_sf2_sw_set_wol()