Lines Matching refs:ds
28 struct dsa_switch *ds = bus->priv; in dsa_slave_phy_read() local
30 if (ds->phys_mii_mask & (1 << addr)) in dsa_slave_phy_read()
31 return ds->ops->phy_read(ds, addr, reg); in dsa_slave_phy_read()
38 struct dsa_switch *ds = bus->priv; in dsa_slave_phy_write() local
40 if (ds->phys_mii_mask & (1 << addr)) in dsa_slave_phy_write()
41 return ds->ops->phy_write(ds, addr, reg, val); in dsa_slave_phy_write()
46 void dsa_slave_mii_bus_init(struct dsa_switch *ds) in dsa_slave_mii_bus_init() argument
48 ds->slave_mii_bus->priv = (void *)ds; in dsa_slave_mii_bus_init()
49 ds->slave_mii_bus->name = "dsa slave smi"; in dsa_slave_mii_bus_init()
50 ds->slave_mii_bus->read = dsa_slave_phy_read; in dsa_slave_mii_bus_init()
51 ds->slave_mii_bus->write = dsa_slave_phy_write; in dsa_slave_mii_bus_init()
52 snprintf(ds->slave_mii_bus->id, MII_BUS_ID_SIZE, "dsa-%d.%d", in dsa_slave_mii_bus_init()
53 ds->dst->index, ds->index); in dsa_slave_mii_bus_init()
54 ds->slave_mii_bus->parent = ds->dev; in dsa_slave_mii_bus_init()
55 ds->slave_mii_bus->phy_mask = ~ds->phys_mii_mask; in dsa_slave_mii_bus_init()
252 struct dsa_switch *ds = p->dp->ds; in dsa_slave_ioctl() local
258 if (ds->ops->port_hwtstamp_get) in dsa_slave_ioctl()
259 return ds->ops->port_hwtstamp_get(ds, port, ifr); in dsa_slave_ioctl()
262 if (ds->ops->port_hwtstamp_set) in dsa_slave_ioctl()
263 return ds->ops->port_hwtstamp_set(ds, port, ifr); in dsa_slave_ioctl()
478 struct dsa_switch *ds = dp->ds; in dsa_slave_get_port_parent_id() local
479 struct dsa_switch_tree *dst = ds->dst; in dsa_slave_get_port_parent_id()
485 if (dp->ds->devlink) in dsa_slave_get_port_parent_id()
510 struct dsa_switch *ds = p->dp->ds; in dsa_skb_tx_timestamp() local
518 if (!ds->ops->port_txtstamp) in dsa_skb_tx_timestamp()
527 if (ds->ops->port_txtstamp(ds, p->dp->index, clone, type)) in dsa_skb_tx_timestamp()
595 struct dsa_switch *ds = dp->ds; in dsa_slave_get_regs_len() local
597 if (ds->ops->get_regs_len) in dsa_slave_get_regs_len()
598 return ds->ops->get_regs_len(ds, dp->index); in dsa_slave_get_regs_len()
607 struct dsa_switch *ds = dp->ds; in dsa_slave_get_regs() local
609 if (ds->ops->get_regs) in dsa_slave_get_regs()
610 ds->ops->get_regs(ds, dp->index, regs, _p); in dsa_slave_get_regs()
623 struct dsa_switch *ds = dp->ds; in dsa_slave_get_eeprom_len() local
625 if (ds->cd && ds->cd->eeprom_len) in dsa_slave_get_eeprom_len()
626 return ds->cd->eeprom_len; in dsa_slave_get_eeprom_len()
628 if (ds->ops->get_eeprom_len) in dsa_slave_get_eeprom_len()
629 return ds->ops->get_eeprom_len(ds); in dsa_slave_get_eeprom_len()
638 struct dsa_switch *ds = dp->ds; in dsa_slave_get_eeprom() local
640 if (ds->ops->get_eeprom) in dsa_slave_get_eeprom()
641 return ds->ops->get_eeprom(ds, eeprom, data); in dsa_slave_get_eeprom()
650 struct dsa_switch *ds = dp->ds; in dsa_slave_set_eeprom() local
652 if (ds->ops->set_eeprom) in dsa_slave_set_eeprom()
653 return ds->ops->set_eeprom(ds, eeprom, data); in dsa_slave_set_eeprom()
662 struct dsa_switch *ds = dp->ds; in dsa_slave_get_strings() local
671 if (ds->ops->get_strings) in dsa_slave_get_strings()
672 ds->ops->get_strings(ds, dp->index, stringset, in dsa_slave_get_strings()
683 struct dsa_switch *ds = dp->ds; in dsa_slave_get_ethtool_stats() local
704 if (ds->ops->get_ethtool_stats) in dsa_slave_get_ethtool_stats()
705 ds->ops->get_ethtool_stats(ds, dp->index, data + 4); in dsa_slave_get_ethtool_stats()
711 struct dsa_switch *ds = dp->ds; in dsa_slave_get_sset_count() local
717 if (ds->ops->get_sset_count) in dsa_slave_get_sset_count()
718 count += ds->ops->get_sset_count(ds, dp->index, sset); in dsa_slave_get_sset_count()
729 struct dsa_switch *ds = dp->ds; in dsa_slave_get_wol() local
733 if (ds->ops->get_wol) in dsa_slave_get_wol()
734 ds->ops->get_wol(ds, dp->index, w); in dsa_slave_get_wol()
740 struct dsa_switch *ds = dp->ds; in dsa_slave_set_wol() local
745 if (ds->ops->set_wol) in dsa_slave_set_wol()
746 ret = ds->ops->set_wol(ds, dp->index, w); in dsa_slave_set_wol()
754 struct dsa_switch *ds = dp->ds; in dsa_slave_set_eee() local
761 if (!ds->ops->set_mac_eee) in dsa_slave_set_eee()
764 ret = ds->ops->set_mac_eee(ds, dp->index, e); in dsa_slave_set_eee()
774 struct dsa_switch *ds = dp->ds; in dsa_slave_get_eee() local
781 if (!ds->ops->get_mac_eee) in dsa_slave_get_eee()
784 ret = ds->ops->get_mac_eee(ds, dp->index, e); in dsa_slave_get_eee()
874 if (dp->ds->devlink) in dsa_slave_get_phys_port_name()
905 struct dsa_switch *ds = dp->ds; in dsa_slave_add_cls_matchall_mirred() local
910 if (!ds->ops->port_mirror_add) in dsa_slave_add_cls_matchall_mirred()
938 err = ds->ops->port_mirror_add(ds, dp->index, mirror, ingress); in dsa_slave_add_cls_matchall_mirred()
959 struct dsa_switch *ds = dp->ds; in dsa_slave_add_cls_matchall_police() local
963 if (!ds->ops->port_policer_add) { in dsa_slave_add_cls_matchall_police()
999 err = ds->ops->port_policer_add(ds, dp->index, policer); in dsa_slave_add_cls_matchall_police()
1032 struct dsa_switch *ds = dp->ds; in dsa_slave_del_cls_matchall() local
1042 if (ds->ops->port_mirror_del) in dsa_slave_del_cls_matchall()
1043 ds->ops->port_mirror_del(ds, dp->index, in dsa_slave_del_cls_matchall()
1047 if (ds->ops->port_policer_del) in dsa_slave_del_cls_matchall()
1048 ds->ops->port_policer_del(ds, dp->index); in dsa_slave_del_cls_matchall()
1080 struct dsa_switch *ds = dp->ds; in dsa_slave_add_cls_flower() local
1083 if (!ds->ops->cls_flower_add) in dsa_slave_add_cls_flower()
1086 return ds->ops->cls_flower_add(ds, port, cls, ingress); in dsa_slave_add_cls_flower()
1094 struct dsa_switch *ds = dp->ds; in dsa_slave_del_cls_flower() local
1097 if (!ds->ops->cls_flower_del) in dsa_slave_del_cls_flower()
1100 return ds->ops->cls_flower_del(ds, port, cls, ingress); in dsa_slave_del_cls_flower()
1108 struct dsa_switch *ds = dp->ds; in dsa_slave_stats_cls_flower() local
1111 if (!ds->ops->cls_flower_stats) in dsa_slave_stats_cls_flower()
1114 return ds->ops->cls_flower_stats(ds, port, cls, ingress); in dsa_slave_stats_cls_flower()
1209 struct dsa_switch *ds = dp->ds; in dsa_slave_setup_tc() local
1214 if (!ds->ops->port_setup_tc) in dsa_slave_setup_tc()
1217 return ds->ops->port_setup_tc(ds, dp->index, type, type_data); in dsa_slave_setup_tc()
1233 struct dsa_switch *ds = dp->ds; in dsa_slave_get_rxnfc() local
1235 if (!ds->ops->get_rxnfc) in dsa_slave_get_rxnfc()
1238 return ds->ops->get_rxnfc(ds, dp->index, nfc, rule_locs); in dsa_slave_get_rxnfc()
1245 struct dsa_switch *ds = dp->ds; in dsa_slave_set_rxnfc() local
1247 if (!ds->ops->set_rxnfc) in dsa_slave_set_rxnfc()
1250 return ds->ops->set_rxnfc(ds, dp->index, nfc); in dsa_slave_set_rxnfc()
1257 struct dsa_switch *ds = p->dp->ds; in dsa_slave_get_ts_info() local
1259 if (!ds->ops->get_ts_info) in dsa_slave_get_ts_info()
1262 return ds->ops->get_ts_info(ds, p->dp->index, ts); in dsa_slave_get_ts_info()
1381 if (!dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
1403 if (!other_dp->ds->mtu_enforcement_ingress) in dsa_bridge_mtu_normalization()
1445 struct dsa_switch *ds = p->dp->ds; in dsa_slave_change_mtu() local
1455 if (!ds->ops->port_change_mtu) in dsa_slave_change_mtu()
1458 for (i = 0; i < ds->num_ports; i++) { in dsa_slave_change_mtu()
1461 if (!dsa_is_user_port(ds, i)) in dsa_slave_change_mtu()
1468 if (!dsa_to_port(ds, i)->slave) in dsa_slave_change_mtu()
1477 slave_mtu = dsa_to_port(ds, i)->slave->mtu; in dsa_slave_change_mtu()
1483 cpu_dp = dsa_to_port(ds, port)->cpu_dp; in dsa_slave_change_mtu()
1582 return dp->ds->devlink ? &dp->devlink_port : NULL; in dsa_slave_get_devlink_port()
1616 void dsa_port_phylink_mac_change(struct dsa_switch *ds, int port, bool up) in dsa_port_phylink_mac_change() argument
1618 const struct dsa_port *dp = dsa_to_port(ds, port); in dsa_port_phylink_mac_change()
1629 struct dsa_switch *ds = dp->ds; in dsa_slave_phylink_fixed_state() local
1634 ds->ops->phylink_fixed_state(ds, dp->index, state); in dsa_slave_phylink_fixed_state()
1641 struct dsa_switch *ds = dp->ds; in dsa_slave_phy_connect() local
1643 slave_dev->phydev = mdiobus_get_phy(ds->slave_mii_bus, addr); in dsa_slave_phy_connect()
1656 struct dsa_switch *ds = dp->ds; in dsa_slave_phy_setup() local
1672 if (ds->ops->phylink_fixed_state) { in dsa_slave_phy_setup()
1685 if (ds->ops->get_phy_flags) in dsa_slave_phy_setup()
1686 phy_flags = ds->ops->get_phy_flags(ds, dp->index); in dsa_slave_phy_setup()
1689 if (ret == -ENODEV && ds->slave_mii_bus) { in dsa_slave_phy_setup()
1752 .switch_number = dp->ds->index, in dsa_slave_notify()
1765 struct dsa_switch *ds = port->ds; in dsa_slave_create() local
1771 if (!ds->num_tx_queues) in dsa_slave_create()
1772 ds->num_tx_queues = 1; in dsa_slave_create()
1776 ds->num_tx_queues, 1); in dsa_slave_create()
1781 if (ds->ops->port_vlan_add && ds->ops->port_vlan_del) in dsa_slave_create()
1792 if (ds->ops->port_max_mtu) in dsa_slave_create()
1793 slave_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index); in dsa_slave_create()
1799 SET_NETDEV_DEV(slave_dev, port->ds->dev); in dsa_slave_create()
1823 dev_warn(ds->dev, "nonfatal error %d setting MTU on port %d\n", in dsa_slave_create()
1832 ret, ds->dst->index, ds->index, port->index); in dsa_slave_create()