Lines Matching refs:ds

282 	struct dsa_switch *ds;
428 if (!dsa_is_cpu_port(priv->ds, port))
692 static int gswip_port_enable(struct dsa_switch *ds, int port,
695 struct gswip_priv *priv = ds->priv;
698 if (!dsa_is_user_port(ds, port))
701 if (!dsa_is_cpu_port(ds, port)) {
717 if (!dsa_is_cpu_port(ds, port)) {
730 static void gswip_port_disable(struct dsa_switch *ds, int port)
732 struct gswip_priv *priv = ds->priv;
734 if (!dsa_is_user_port(ds, port))
780 static int gswip_port_vlan_filtering(struct dsa_switch *ds, int port,
784 struct net_device *bridge = dsa_port_bridge_dev_get(dsa_to_port(ds, port));
785 struct gswip_priv *priv = ds->priv;
817 static int gswip_setup(struct dsa_switch *ds)
819 struct gswip_priv *priv = ds->priv;
830 gswip_port_disable(ds, i);
831 gswip_port_vlan_filtering(ds, i, false, NULL);
899 ds->mtu_enforcement_ingress = true;
901 gswip_port_enable(ds, cpu_port, NULL);
903 ds->configure_vlan_while_not_filtering = false;
908 static enum dsa_tag_protocol gswip_get_tag_protocol(struct dsa_switch *ds,
1168 static int gswip_port_bridge_join(struct dsa_switch *ds, int port,
1174 struct gswip_priv *priv = ds->priv;
1191 static void gswip_port_bridge_leave(struct dsa_switch *ds, int port,
1195 struct gswip_priv *priv = ds->priv;
1206 static int gswip_port_vlan_prepare(struct dsa_switch *ds, int port,
1210 struct net_device *bridge = dsa_port_bridge_dev_get(dsa_to_port(ds, port));
1211 struct gswip_priv *priv = ds->priv;
1217 if (!dsa_is_cpu_port(ds, port) && !bridge)
1252 static int gswip_port_vlan_add(struct dsa_switch *ds, int port,
1256 struct net_device *bridge = dsa_port_bridge_dev_get(dsa_to_port(ds, port));
1257 struct gswip_priv *priv = ds->priv;
1262 err = gswip_port_vlan_prepare(ds, port, vlan, extack);
1271 if (dsa_is_cpu_port(ds, port))
1278 static int gswip_port_vlan_del(struct dsa_switch *ds, int port,
1281 struct net_device *bridge = dsa_port_bridge_dev_get(dsa_to_port(ds, port));
1282 struct gswip_priv *priv = ds->priv;
1290 if (dsa_is_cpu_port(ds, port))
1296 static void gswip_port_fast_age(struct dsa_switch *ds, int port)
1298 struct gswip_priv *priv = ds->priv;
1333 static void gswip_port_stp_state_set(struct dsa_switch *ds, int port, u8 state)
1335 struct gswip_priv *priv = ds->priv;
1364 static int gswip_port_fdb(struct dsa_switch *ds, int port,
1367 struct net_device *bridge = dsa_port_bridge_dev_get(dsa_to_port(ds, port));
1368 struct gswip_priv *priv = ds->priv;
1407 static int gswip_port_fdb_add(struct dsa_switch *ds, int port,
1411 return gswip_port_fdb(ds, port, addr, vid, true);
1414 static int gswip_port_fdb_del(struct dsa_switch *ds, int port,
1418 return gswip_port_fdb(ds, port, addr, vid, false);
1421 static int gswip_port_fdb_dump(struct dsa_switch *ds, int port,
1424 struct gswip_priv *priv = ds->priv;
1468 static int gswip_port_max_mtu(struct dsa_switch *ds, int port)
1474 static int gswip_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
1476 struct gswip_priv *priv = ds->priv;
1501 static void gswip_xrx200_phylink_get_caps(struct dsa_switch *ds, int port,
1534 static void gswip_xrx300_phylink_get_caps(struct dsa_switch *ds, int port,
1678 struct gswip_priv *priv = dp->ds->priv;
1705 dev_err(dp->ds->dev,
1736 struct gswip_priv *priv = dp->ds->priv;
1753 struct gswip_priv *priv = dp->ds->priv;
1766 static void gswip_get_strings(struct dsa_switch *ds, int port, u32 stringset,
1804 static void gswip_get_ethtool_stats(struct dsa_switch *ds, int port,
1807 struct gswip_priv *priv = ds->priv;
1825 static int gswip_get_sset_count(struct dsa_switch *ds, int port, int sset)
2137 priv->ds = devm_kzalloc(dev, sizeof(*priv->ds), GFP_KERNEL);
2138 if (!priv->ds)
2141 priv->ds->dev = dev;
2142 priv->ds->num_ports = priv->hw_info->max_ports;
2143 priv->ds->priv = priv;
2144 priv->ds->ops = priv->hw_info->ops;
2145 priv->ds->phylink_mac_ops = &gswip_phylink_mac_ops;
2186 err = dsa_register_switch(priv->ds);
2191 if (!dsa_is_cpu_port(priv->ds, priv->hw_info->cpu_port)) {
2207 dsa_unregister_switch(priv->ds);
2225 dsa_unregister_switch(priv->ds);
2238 dsa_switch_shutdown(priv->ds);