Lines Matching refs:ds

150 static int get_vlan_table(struct dsa_switch *ds, u16 vid, u32 *vlan_table)  in get_vlan_table()  argument
152 struct ksz_device *dev = ds->priv; in get_vlan_table()
179 static int set_vlan_table(struct dsa_switch *ds, u16 vid, u32 *vlan_table) in set_vlan_table() argument
181 struct ksz_device *dev = ds->priv; in set_vlan_table()
213 static void read_table(struct dsa_switch *ds, u32 *table) in read_table() argument
215 struct ksz_device *dev = ds->priv; in read_table()
223 static void write_table(struct dsa_switch *ds, u32 *table) in write_table() argument
225 struct ksz_device *dev = ds->priv; in write_table()
267 static int ksz_reset_switch(struct dsa_switch *ds) in ksz_reset_switch() argument
269 struct ksz_device *dev = ds->priv; in ksz_reset_switch()
348 static void ksz_config_cpu_port(struct dsa_switch *ds) in ksz_config_cpu_port() argument
350 struct ksz_device *dev = ds->priv; in ksz_config_cpu_port()
353 ds->num_ports = dev->port_cnt; in ksz_config_cpu_port()
355 for (i = 0; i < ds->num_ports; i++) { in ksz_config_cpu_port()
356 if (dsa_is_cpu_port(ds, i) && (dev->cpu_ports & (1 << i))) { in ksz_config_cpu_port()
365 static int ksz_setup(struct dsa_switch *ds) in ksz_setup() argument
367 struct ksz_device *dev = ds->priv; in ksz_setup()
375 ret = ksz_reset_switch(ds); in ksz_setup()
377 dev_err(ds->dev, "failed to reset switch\n"); in ksz_setup()
384 ksz_config_cpu_port(ds); in ksz_setup()
397 static enum dsa_tag_protocol ksz_get_tag_protocol(struct dsa_switch *ds, in ksz_get_tag_protocol() argument
403 static int ksz_phy_read16(struct dsa_switch *ds, int addr, int reg) in ksz_phy_read16() argument
405 struct ksz_device *dev = ds->priv; in ksz_phy_read16()
413 static int ksz_phy_write16(struct dsa_switch *ds, int addr, int reg, u16 val) in ksz_phy_write16() argument
415 struct ksz_device *dev = ds->priv; in ksz_phy_write16()
422 static int ksz_enable_port(struct dsa_switch *ds, int port, in ksz_enable_port() argument
425 struct ksz_device *dev = ds->priv; in ksz_enable_port()
433 static void ksz_disable_port(struct dsa_switch *ds, int port, in ksz_disable_port() argument
436 struct ksz_device *dev = ds->priv; in ksz_disable_port()
442 static int ksz_sset_count(struct dsa_switch *ds, int port, int sset) in ksz_sset_count() argument
450 static void ksz_get_strings(struct dsa_switch *ds, int port, in ksz_get_strings() argument
464 static void ksz_get_ethtool_stats(struct dsa_switch *ds, int port, in ksz_get_ethtool_stats() argument
467 struct ksz_device *dev = ds->priv; in ksz_get_ethtool_stats()
504 static void ksz_port_stp_state_set(struct dsa_switch *ds, int port, u8 state) in ksz_port_stp_state_set() argument
506 struct ksz_device *dev = ds->priv; in ksz_port_stp_state_set()
529 dev_err(ds->dev, "invalid STP state: %d\n", state); in ksz_port_stp_state_set()
536 static void ksz_port_fast_age(struct dsa_switch *ds, int port) in ksz_port_fast_age() argument
538 struct ksz_device *dev = ds->priv; in ksz_port_fast_age()
549 static int ksz_port_vlan_filtering(struct dsa_switch *ds, int port, bool flag) in ksz_port_vlan_filtering() argument
551 struct ksz_device *dev = ds->priv; in ksz_port_vlan_filtering()
568 static int ksz_port_vlan_prepare(struct dsa_switch *ds, int port, in ksz_port_vlan_prepare() argument
576 static void ksz_port_vlan_add(struct dsa_switch *ds, int port, in ksz_port_vlan_add() argument
579 struct ksz_device *dev = ds->priv; in ksz_port_vlan_add()
585 if (get_vlan_table(ds, vid, vlan_table)) { in ksz_port_vlan_add()
599 if (set_vlan_table(ds, vid, vlan_table)) { in ksz_port_vlan_add()
610 static int ksz_port_vlan_del(struct dsa_switch *ds, int port, in ksz_port_vlan_del() argument
613 struct ksz_device *dev = ds->priv; in ksz_port_vlan_del()
623 if (get_vlan_table(ds, vid, vlan_table)) { in ksz_port_vlan_del()
636 if (set_vlan_table(ds, vid, vlan_table)) { in ksz_port_vlan_del()
666 static int ksz_port_fdb_add(struct dsa_switch *ds, int port, in ksz_port_fdb_add() argument
669 struct ksz_device *dev = ds->priv; in ksz_port_fdb_add()
696 read_table(ds, alu_table); in ksz_port_fdb_add()
708 write_table(ds, alu_table); in ksz_port_fdb_add()
723 static int ksz_port_fdb_del(struct dsa_switch *ds, int port, in ksz_port_fdb_del() argument
726 struct ksz_device *dev = ds->priv; in ksz_port_fdb_del()
775 write_table(ds, alu_table); in ksz_port_fdb_del()
813 static int ksz_port_fdb_dump(struct dsa_switch *ds, int port, in ksz_port_fdb_dump() argument
816 struct ksz_device *dev = ds->priv; in ksz_port_fdb_dump()
844 read_table(ds, alu_table); in ksz_port_fdb_dump()
865 static int ksz_port_mdb_prepare(struct dsa_switch *ds, int port, in ksz_port_mdb_prepare() argument
872 static void ksz_port_mdb_add(struct dsa_switch *ds, int port, in ksz_port_mdb_add() argument
875 struct ksz_device *dev = ds->priv; in ksz_port_mdb_add()
900 read_table(ds, static_table); in ksz_port_mdb_add()
929 write_table(ds, static_table); in ksz_port_mdb_add()
942 static int ksz_port_mdb_del(struct dsa_switch *ds, int port, in ksz_port_mdb_del() argument
945 struct ksz_device *dev = ds->priv; in ksz_port_mdb_del()
972 read_table(ds, static_table); in ksz_port_mdb_del()
1003 write_table(ds, static_table); in ksz_port_mdb_del()
1019 static int ksz_port_mirror_add(struct dsa_switch *ds, int port, in ksz_port_mirror_add() argument
1023 struct ksz_device *dev = ds->priv; in ksz_port_mirror_add()
1041 static void ksz_port_mirror_del(struct dsa_switch *ds, int port, in ksz_port_mirror_del() argument
1044 struct ksz_device *dev = ds->priv; in ksz_port_mirror_del()
1125 dev->ds->ops = &ksz_switch_ops; in ksz_switch_init()
1153 struct dsa_switch *ds; in ksz_switch_alloc() local
1156 ds = dsa_switch_alloc(base, DSA_MAX_PORTS); in ksz_switch_alloc()
1157 if (!ds) in ksz_switch_alloc()
1164 ds->priv = swdev; in ksz_switch_alloc()
1167 swdev->ds = ds; in ksz_switch_alloc()
1216 return dsa_register_switch(dev->ds); in ksz_switch_register()
1222 dsa_unregister_switch(dev->ds); in ksz_switch_remove()