Lines Matching refs:ds

38 static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)  in bcm_sf2_imp_setup()  argument
40 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_imp_setup()
76 b53_brcm_hdr_setup(ds, port); in bcm_sf2_imp_setup()
84 static void bcm_sf2_gphy_enable_set(struct dsa_switch *ds, bool enable) in bcm_sf2_gphy_enable_set() argument
86 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_gphy_enable_set()
157 static int bcm_sf2_port_setup(struct dsa_switch *ds, int port, in bcm_sf2_port_setup() argument
160 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_port_setup()
176 b53_brcm_hdr_setup(ds, port); in bcm_sf2_port_setup()
188 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_port_setup()
221 return b53_enable_port(ds, port, phy); in bcm_sf2_port_setup()
224 static void bcm_sf2_port_disable(struct dsa_switch *ds, int port, in bcm_sf2_port_disable() argument
227 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_port_disable()
242 bcm_sf2_gphy_enable_set(ds, false); in bcm_sf2_port_disable()
244 b53_disable_port(ds, port, phy); in bcm_sf2_port_disable()
315 struct dsa_switch *ds = dev_id; in bcm_sf2_switch_0_isr() local
316 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_switch_0_isr()
327 struct dsa_switch *ds = dev_id; in bcm_sf2_switch_1_isr() local
328 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_switch_1_isr()
336 dsa_port_phylink_mac_change(ds, 7, true); in bcm_sf2_switch_1_isr()
340 dsa_port_phylink_mac_change(ds, 7, false); in bcm_sf2_switch_1_isr()
410 static int bcm_sf2_mdio_register(struct dsa_switch *ds) in bcm_sf2_mdio_register() argument
412 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_mdio_register()
426 priv->slave_mii_bus = devm_mdiobus_alloc(ds->dev); in bcm_sf2_mdio_register()
453 ds->phys_mii_mask = priv->indir_phy_mask; in bcm_sf2_mdio_register()
454 ds->slave_mii_bus = priv->slave_mii_bus; in bcm_sf2_mdio_register()
455 priv->slave_mii_bus->parent = ds->dev->parent; in bcm_sf2_mdio_register()
472 static u32 bcm_sf2_sw_get_phy_flags(struct dsa_switch *ds, int port) in bcm_sf2_sw_get_phy_flags() argument
474 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_get_phy_flags()
484 static void bcm_sf2_sw_validate(struct dsa_switch *ds, int port, in bcm_sf2_sw_validate() argument
497 dev_err(ds->dev, in bcm_sf2_sw_validate()
528 static void bcm_sf2_sw_mac_config(struct dsa_switch *ds, int port, in bcm_sf2_sw_mac_config() argument
532 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_mac_config()
599 static void bcm_sf2_sw_mac_link_set(struct dsa_switch *ds, int port, in bcm_sf2_sw_mac_link_set() argument
602 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_mac_link_set()
619 static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port, in bcm_sf2_sw_mac_link_down() argument
623 bcm_sf2_sw_mac_link_set(ds, port, interface, false); in bcm_sf2_sw_mac_link_down()
626 static void bcm_sf2_sw_mac_link_up(struct dsa_switch *ds, int port, in bcm_sf2_sw_mac_link_up() argument
631 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_mac_link_up()
634 bcm_sf2_sw_mac_link_set(ds, port, interface, true); in bcm_sf2_sw_mac_link_up()
637 p->eee_enabled = b53_eee_init(ds, port, phydev); in bcm_sf2_sw_mac_link_up()
640 static void bcm_sf2_sw_fixed_state(struct dsa_switch *ds, int port, in bcm_sf2_sw_fixed_state() argument
643 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_fixed_state()
663 netif_carrier_off(ds->ports[port].slave); in bcm_sf2_sw_fixed_state()
670 static void bcm_sf2_enable_acb(struct dsa_switch *ds) in bcm_sf2_enable_acb() argument
672 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_enable_acb()
684 static int bcm_sf2_sw_suspend(struct dsa_switch *ds) in bcm_sf2_sw_suspend() argument
686 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_suspend()
696 if (dsa_is_user_port(ds, port) || dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_suspend()
697 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_suspend()
703 static int bcm_sf2_sw_resume(struct dsa_switch *ds) in bcm_sf2_sw_resume() argument
705 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_resume()
715 bcm_sf2_gphy_enable_set(ds, true); in bcm_sf2_sw_resume()
717 ds->ops->setup(ds); in bcm_sf2_sw_resume()
722 static void bcm_sf2_sw_get_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_get_wol() argument
725 struct net_device *p = ds->ports[port].cpu_dp->master; in bcm_sf2_sw_get_wol()
726 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_get_wol()
745 static int bcm_sf2_sw_set_wol(struct dsa_switch *ds, int port, in bcm_sf2_sw_set_wol() argument
748 struct net_device *p = ds->ports[port].cpu_dp->master; in bcm_sf2_sw_set_wol()
749 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_set_wol()
750 s8 cpu_port = ds->ports[port].cpu_dp->index; in bcm_sf2_sw_set_wol()
774 static int bcm_sf2_sw_setup(struct dsa_switch *ds) in bcm_sf2_sw_setup() argument
776 struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); in bcm_sf2_sw_setup()
782 if (dsa_is_user_port(ds, port)) in bcm_sf2_sw_setup()
783 bcm_sf2_port_setup(ds, port, NULL); in bcm_sf2_sw_setup()
784 else if (dsa_is_cpu_port(ds, port)) in bcm_sf2_sw_setup()
785 bcm_sf2_imp_setup(ds, port); in bcm_sf2_sw_setup()
787 bcm_sf2_port_disable(ds, port, NULL); in bcm_sf2_sw_setup()
790 b53_configure_vlan(ds); in bcm_sf2_sw_setup()
791 bcm_sf2_enable_acb(ds); in bcm_sf2_sw_setup()
1011 struct dsa_switch *ds; in bcm_sf2_sw_probe() local
1054 ds = dev->ds; in bcm_sf2_sw_probe()
1055 ds->ops = &bcm_sf2_ops; in bcm_sf2_sw_probe()
1058 ds->num_tx_queues = SF2_NUM_EGRESS_QUEUES; in bcm_sf2_sw_probe()
1094 ret = bcm_sf2_mdio_register(ds); in bcm_sf2_sw_probe()
1110 "switch_0", ds); in bcm_sf2_sw_probe()
1117 "switch_1", ds); in bcm_sf2_sw_probe()
1169 dsa_unregister_switch(priv->dev->ds); in bcm_sf2_sw_remove()
1171 bcm_sf2_sw_suspend(priv->dev->ds); in bcm_sf2_sw_remove()
1188 bcm_sf2_gphy_enable_set(priv->dev->ds, true); in bcm_sf2_sw_shutdown()
1197 return dsa_switch_suspend(priv->dev->ds); in bcm_sf2_suspend()
1205 return dsa_switch_resume(priv->dev->ds); in bcm_sf2_resume()