Lines Matching defs:mv88e6xxx_chip

276 	struct mv88e6xxx_chip *chip;
321 struct mv88e6xxx_chip {
427 int (*read)(struct mv88e6xxx_chip *chip, int addr, int reg, u16 *val);
428 int (*write)(struct mv88e6xxx_chip *chip, int addr, int reg, u16 val);
429 int (*init)(struct mv88e6xxx_chip *chip);
434 struct mv88e6xxx_chip *chip;
443 int (*setup_errata)(struct mv88e6xxx_chip *chip);
445 int (*ieee_pri_map)(struct mv88e6xxx_chip *chip);
446 int (*ip_pri_map)(struct mv88e6xxx_chip *chip);
449 int (*irl_init_all)(struct mv88e6xxx_chip *chip, int port);
451 int (*get_eeprom)(struct mv88e6xxx_chip *chip,
453 int (*set_eeprom)(struct mv88e6xxx_chip *chip,
456 int (*set_switch_mac)(struct mv88e6xxx_chip *chip, u8 *addr);
458 int (*phy_read)(struct mv88e6xxx_chip *chip,
461 int (*phy_write)(struct mv88e6xxx_chip *chip,
465 int (*phy_read_c45)(struct mv88e6xxx_chip *chip,
468 int (*phy_write_c45)(struct mv88e6xxx_chip *chip,
473 int (*pot_clear)(struct mv88e6xxx_chip *chip);
476 int (*ppu_enable)(struct mv88e6xxx_chip *chip);
477 int (*ppu_disable)(struct mv88e6xxx_chip *chip);
480 int (*reset)(struct mv88e6xxx_chip *chip);
485 int (*port_set_rgmii_delay)(struct mv88e6xxx_chip *chip, int port,
496 int (*port_set_link)(struct mv88e6xxx_chip *chip, int port, int link);
500 int (*port_sync_link)(struct mv88e6xxx_chip *chip, int port, unsigned int mode, bool isup);
506 int (*port_set_pause)(struct mv88e6xxx_chip *chip, int port,
520 int (*port_set_speed_duplex)(struct mv88e6xxx_chip *chip, int port,
524 phy_interface_t (*port_max_speed_mode)(struct mv88e6xxx_chip *chip,
527 int (*port_tag_remap)(struct mv88e6xxx_chip *chip, int port);
529 int (*port_set_policy)(struct mv88e6xxx_chip *chip, int port,
533 int (*port_set_frame_mode)(struct mv88e6xxx_chip *chip, int port,
535 int (*port_set_ucast_flood)(struct mv88e6xxx_chip *chip, int port,
537 int (*port_set_mcast_flood)(struct mv88e6xxx_chip *chip, int port,
539 int (*port_set_ether_type)(struct mv88e6xxx_chip *chip, int port,
541 int (*port_set_jumbo_size)(struct mv88e6xxx_chip *chip, int port,
544 int (*port_egress_rate_limiting)(struct mv88e6xxx_chip *chip, int port);
545 int (*port_pause_limit)(struct mv88e6xxx_chip *chip, int port, u8 in,
547 int (*port_disable_learn_limit)(struct mv88e6xxx_chip *chip, int port);
548 int (*port_disable_pri_override)(struct mv88e6xxx_chip *chip, int port);
549 int (*port_setup_message_port)(struct mv88e6xxx_chip *chip, int port);
554 int (*port_set_cmode)(struct mv88e6xxx_chip *chip, int port,
556 int (*port_get_cmode)(struct mv88e6xxx_chip *chip, int port, u8 *cmode);
561 int (*port_set_upstream_port)(struct mv88e6xxx_chip *chip, int port,
567 int (*stats_snapshot)(struct mv88e6xxx_chip *chip, int port);
572 int (*stats_set_histogram)(struct mv88e6xxx_chip *chip);
575 int (*stats_get_sset_count)(struct mv88e6xxx_chip *chip);
576 int (*stats_get_strings)(struct mv88e6xxx_chip *chip, uint8_t *data);
577 int (*stats_get_stats)(struct mv88e6xxx_chip *chip, int port,
579 int (*set_cpu_port)(struct mv88e6xxx_chip *chip, int port);
580 int (*set_egress_port)(struct mv88e6xxx_chip *chip,
587 int (*set_cascade_port)(struct mv88e6xxx_chip *chip, int port);
591 int (*mgmt_rsvd2cpu)(struct mv88e6xxx_chip *chip);
594 int (*serdes_get_lane)(struct mv88e6xxx_chip *chip, int port);
597 unsigned int (*serdes_irq_mapping)(struct mv88e6xxx_chip *chip,
601 int (*serdes_get_sset_count)(struct mv88e6xxx_chip *chip, int port);
602 int (*serdes_get_strings)(struct mv88e6xxx_chip *chip, int port,
604 size_t (*serdes_get_stats)(struct mv88e6xxx_chip *chip, int port,
608 int (*serdes_get_regs_len)(struct mv88e6xxx_chip *chip, int port);
609 void (*serdes_get_regs)(struct mv88e6xxx_chip *chip, int port,
613 int (*serdes_set_tx_amplitude)(struct mv88e6xxx_chip *chip, int port,
617 int (*atu_get_hash)(struct mv88e6xxx_chip *chip, u8 *hash);
618 int (*atu_set_hash)(struct mv88e6xxx_chip *chip, u8 hash);
621 int (*vtu_getnext)(struct mv88e6xxx_chip *chip,
623 int (*vtu_loadpurge)(struct mv88e6xxx_chip *chip,
627 int (*stu_getnext)(struct mv88e6xxx_chip *chip,
629 int (*stu_loadpurge)(struct mv88e6xxx_chip *chip,
639 int (*rmu_disable)(struct mv88e6xxx_chip *chip);
645 void (*phylink_get_caps)(struct mv88e6xxx_chip *chip, int port,
651 int (*set_max_frame_size)(struct mv88e6xxx_chip *chip, int mtu);
656 int (*irq_action)(struct mv88e6xxx_chip *chip, int irq);
658 int (*irq_setup)(struct mv88e6xxx_chip *chip);
660 void (*irq_free)(struct mv88e6xxx_chip *chip);
665 int (*get_data)(struct mv88e6xxx_chip *chip, unsigned int pin);
666 int (*set_data)(struct mv88e6xxx_chip *chip, unsigned int pin,
670 int (*get_dir)(struct mv88e6xxx_chip *chip, unsigned int pin);
671 int (*set_dir)(struct mv88e6xxx_chip *chip, unsigned int pin,
675 int (*get_pctl)(struct mv88e6xxx_chip *chip, unsigned int pin,
677 int (*set_pctl)(struct mv88e6xxx_chip *chip, unsigned int pin,
683 int (*port_ptp_read)(struct mv88e6xxx_chip *chip, int port, int addr,
685 int (*port_ptp_write)(struct mv88e6xxx_chip *chip, int port, int addr,
689 int (*ptp_read)(struct mv88e6xxx_chip *chip, int addr, u16 *data,
691 int (*ptp_write)(struct mv88e6xxx_chip *chip, int addr, u16 data);
694 int (*tai_read)(struct mv88e6xxx_chip *chip, int addr, u16 *data,
696 int (*tai_write)(struct mv88e6xxx_chip *chip, int addr, u16 data);
706 int (*port_enable)(struct mv88e6xxx_chip *chip, int port);
707 int (*port_disable)(struct mv88e6xxx_chip *chip, int port);
708 int (*global_enable)(struct mv88e6xxx_chip *chip);
709 int (*global_disable)(struct mv88e6xxx_chip *chip);
710 int (*set_ptp_cpu_port)(struct mv88e6xxx_chip *chip, int port);
723 int (*pcs_init)(struct mv88e6xxx_chip *chip, int port);
724 void (*pcs_teardown)(struct mv88e6xxx_chip *chip, int port);
725 struct phylink_pcs *(*pcs_select)(struct mv88e6xxx_chip *chip, int port,
741 static inline bool mv88e6xxx_has_stu(struct mv88e6xxx_chip *chip)
748 static inline bool mv88e6xxx_has_pvt(struct mv88e6xxx_chip *chip)
753 static inline bool mv88e6xxx_has_lag(struct mv88e6xxx_chip *chip)
758 static inline unsigned int mv88e6xxx_num_databases(struct mv88e6xxx_chip *chip)
763 static inline unsigned int mv88e6xxx_num_macs(struct mv88e6xxx_chip *chip)
768 static inline unsigned int mv88e6xxx_num_ports(struct mv88e6xxx_chip *chip)
773 static inline unsigned int mv88e6xxx_max_vid(struct mv88e6xxx_chip *chip)
778 static inline unsigned int mv88e6xxx_max_sid(struct mv88e6xxx_chip *chip)
783 static inline u16 mv88e6xxx_port_mask(struct mv88e6xxx_chip *chip)
788 static inline unsigned int mv88e6xxx_num_gpio(struct mv88e6xxx_chip *chip)
793 static inline bool mv88e6xxx_is_invalid_port(struct mv88e6xxx_chip *chip, int port)
798 static inline void mv88e6xxx_port_set_mab(struct mv88e6xxx_chip *chip,
804 int mv88e6xxx_read(struct mv88e6xxx_chip *chip, int addr, int reg, u16 *val);
805 int mv88e6xxx_write(struct mv88e6xxx_chip *chip, int addr, int reg, u16 val);
806 int mv88e6xxx_wait_mask(struct mv88e6xxx_chip *chip, int addr, int reg,
808 int mv88e6xxx_wait_bit(struct mv88e6xxx_chip *chip, int addr, int reg,
810 struct mii_bus *mv88e6xxx_default_mdio_bus(struct mv88e6xxx_chip *chip);
812 static inline void mv88e6xxx_reg_lock(struct mv88e6xxx_chip *chip)
817 static inline void mv88e6xxx_reg_unlock(struct mv88e6xxx_chip *chip)
822 int mv88e6xxx_vtu_walk(struct mv88e6xxx_chip *chip,
823 int (*cb)(struct mv88e6xxx_chip *chip,
828 int mv88e6xxx_fid_map(struct mv88e6xxx_chip *chip, unsigned long *bitmap);