Lines Matching refs:ds

48 static int mv88e6352_setup_global(struct dsa_switch *ds)  in mv88e6352_setup_global()  argument
50 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); in mv88e6352_setup_global()
66 ret = mv88e6xxx_config_prio(ds); in mv88e6352_setup_global()
74 REG_WRITE(REG_GLOBAL, 0x1a, (dsa_upstream_port(ds) * 0x1110)); in mv88e6352_setup_global()
79 REG_WRITE(REG_GLOBAL, 0x1c, ds->index & 0x1f); in mv88e6352_setup_global()
104 if (i != ds->index && i < ds->dst->pd->nr_chips) in mv88e6352_setup_global()
105 nexthop = ds->pd->rtable[i] & 0x1f; in mv88e6352_setup_global()
136 static int mv88e6352_setup_port(struct dsa_switch *ds, int p) in mv88e6352_setup_port() argument
146 if (dsa_is_cpu_port(ds, p) || ds->dsa_port_mask & (1 << p)) in mv88e6352_setup_port()
172 if (dsa_is_cpu_port(ds, p)) { in mv88e6352_setup_port()
173 if (ds->dst->tag_protocol == DSA_TAG_PROTO_EDSA) in mv88e6352_setup_port()
178 if (ds->dsa_port_mask & (1 << p)) in mv88e6352_setup_port()
180 if (p == dsa_upstream_port(ds)) in mv88e6352_setup_port()
228 return mv88e6xxx_setup_port_common(ds, p); in mv88e6352_setup_port()
233 static int mv88e6352_get_temp(struct dsa_switch *ds, int *temp) in mv88e6352_get_temp() argument
239 ret = mv88e6xxx_phy_page_read(ds, 0, 6, 27); in mv88e6352_get_temp()
248 static int mv88e6352_get_temp_limit(struct dsa_switch *ds, int *temp) in mv88e6352_get_temp_limit() argument
254 ret = mv88e6xxx_phy_page_read(ds, 0, 6, 26); in mv88e6352_get_temp_limit()
263 static int mv88e6352_set_temp_limit(struct dsa_switch *ds, int temp) in mv88e6352_set_temp_limit() argument
267 ret = mv88e6xxx_phy_page_read(ds, 0, 6, 26); in mv88e6352_set_temp_limit()
271 return mv88e6xxx_phy_page_write(ds, 0, 6, 26, in mv88e6352_set_temp_limit()
275 static int mv88e6352_get_temp_alarm(struct dsa_switch *ds, bool *alarm) in mv88e6352_get_temp_alarm() argument
281 ret = mv88e6xxx_phy_page_read(ds, 0, 6, 26); in mv88e6352_get_temp_alarm()
291 static int mv88e6352_setup(struct dsa_switch *ds) in mv88e6352_setup() argument
293 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); in mv88e6352_setup()
297 ret = mv88e6xxx_setup_common(ds); in mv88e6352_setup()
305 ret = mv88e6xxx_switch_reset(ds, true); in mv88e6352_setup()
311 ret = mv88e6352_setup_global(ds); in mv88e6352_setup()
316 ret = mv88e6352_setup_port(ds, i); in mv88e6352_setup()
324 static int mv88e6352_read_eeprom_word(struct dsa_switch *ds, int addr) in mv88e6352_read_eeprom_word() argument
326 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); in mv88e6352_read_eeprom_word()
331 ret = mv88e6xxx_reg_write(ds, REG_GLOBAL2, 0x14, in mv88e6352_read_eeprom_word()
336 ret = mv88e6xxx_eeprom_busy_wait(ds); in mv88e6352_read_eeprom_word()
340 ret = mv88e6xxx_reg_read(ds, REG_GLOBAL2, 0x15); in mv88e6352_read_eeprom_word()
346 static int mv88e6352_get_eeprom(struct dsa_switch *ds, in mv88e6352_get_eeprom() argument
359 ret = mv88e6xxx_eeprom_load_wait(ds); in mv88e6352_get_eeprom()
366 word = mv88e6352_read_eeprom_word(ds, offset >> 1); in mv88e6352_get_eeprom()
380 word = mv88e6352_read_eeprom_word(ds, offset >> 1); in mv88e6352_get_eeprom()
395 word = mv88e6352_read_eeprom_word(ds, offset >> 1); in mv88e6352_get_eeprom()
409 static int mv88e6352_eeprom_is_readonly(struct dsa_switch *ds) in mv88e6352_eeprom_is_readonly() argument
413 ret = mv88e6xxx_reg_read(ds, REG_GLOBAL2, 0x14); in mv88e6352_eeprom_is_readonly()
423 static int mv88e6352_write_eeprom_word(struct dsa_switch *ds, int addr, in mv88e6352_write_eeprom_word() argument
426 struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); in mv88e6352_write_eeprom_word()
431 ret = mv88e6xxx_reg_write(ds, REG_GLOBAL2, 0x15, data); in mv88e6352_write_eeprom_word()
435 ret = mv88e6xxx_reg_write(ds, REG_GLOBAL2, 0x14, in mv88e6352_write_eeprom_word()
440 ret = mv88e6xxx_eeprom_busy_wait(ds); in mv88e6352_write_eeprom_word()
446 static int mv88e6352_set_eeprom(struct dsa_switch *ds, in mv88e6352_set_eeprom() argument
456 ret = mv88e6352_eeprom_is_readonly(ds); in mv88e6352_set_eeprom()
464 ret = mv88e6xxx_eeprom_load_wait(ds); in mv88e6352_set_eeprom()
471 word = mv88e6352_read_eeprom_word(ds, offset >> 1); in mv88e6352_set_eeprom()
477 ret = mv88e6352_write_eeprom_word(ds, offset >> 1, word); in mv88e6352_set_eeprom()
492 ret = mv88e6352_write_eeprom_word(ds, offset >> 1, word); in mv88e6352_set_eeprom()
504 word = mv88e6352_read_eeprom_word(ds, offset >> 1); in mv88e6352_set_eeprom()
510 ret = mv88e6352_write_eeprom_word(ds, offset >> 1, word); in mv88e6352_set_eeprom()