cphy
static void ael100x_txon(struct cphy *phy)
static int ael2005_get_module_type(struct cphy *phy, int delay_ms)
static int ael2005_intr_enable(struct cphy *phy)
static int ael2005_intr_disable(struct cphy *phy)
static int ael2005_intr_clear(struct cphy *phy)
static int ael2005_reset(struct cphy *phy, int wait)
static int ael_i2c_rd(struct cphy *phy, int dev_addr, int word_addr)
static int ael2005_intr_handler(struct cphy *phy)
struct cphy *phy = &pinfo->phy;
static int ael2020_setup_sr_edc(struct cphy *phy)
static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype)
static int ael_i2c_wr(struct cphy *phy, int dev_addr, int word_addr, int data)
static int get_phytrans_type(struct cphy *phy)
static int ael2020_get_module_type(struct cphy *phy, int delay_ms)
static int ael2020_intr_enable(struct cphy *phy)
static int ael_laser_down(struct cphy *phy, int enable)
static int ael2020_intr_disable(struct cphy *phy)
static int ael2020_intr_clear(struct cphy *phy)
static int ael2020_reset(struct cphy *phy, int wait)
static int ael2020_intr_handler(struct cphy *phy)
struct cphy *phy = &pinfo->phy;
static int get_link_status_x(struct cphy *phy, int *link_state, int *speed,
struct cphy *phy = &pinfo->phy;
static int xaui_direct_reset(struct cphy *phy, int wait)
static int xaui_direct_get_link_status(struct cphy *phy, int *link_state,
static int xaui_direct_power_down(struct cphy *phy, int enable)
static int ael1002_power_down(struct cphy *phy, int enable)
static int ael1002_get_module_type(struct cphy *phy, int delay_ms)
static int ael1002_reset(struct cphy *phy, int wait)
static int ael1002_intr_noop(struct cphy *phy)
static int get_link_status_r(struct cphy *phy, int *link_state, int *speed,
struct cphy *phy = &pinfo->phy;
static int ael1006_reset(struct cphy *phy, int wait)
struct cphy *phy = &pinfo->phy;
static int ael2xxx_get_module_type(struct cphy *phy, int delay_ms)
static int ael2005_setup_sr_edc(struct cphy *phy)
static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype)
static int ael2xxx_get_module_type(struct cphy *phy, int delay_ms);
static int set_phy_regs(struct cphy *phy, const struct reg_val *rv)
aq100x_reset(struct cphy *phy, int wait)
aq100x_intr_enable(struct cphy *phy)
aq100x_intr_disable(struct cphy *phy)
aq100x_intr_clear(struct cphy *phy)
aq100x_vendor_intr(struct cphy *phy, int *rc)
aq100x_intr_handler(struct cphy *phy)
aq100x_power_down(struct cphy *phy, int off)
aq100x_autoneg_enable(struct cphy *phy)
aq100x_autoneg_restart(struct cphy *phy)
aq100x_advertise(struct cphy *phy, unsigned int advertise_map)
aq100x_set_loopback(struct cphy *phy, int mmd, int dir, int enable)
aq100x_set_speed_duplex(struct cphy *phy, int speed, int duplex)
aq100x_get_link_status(struct cphy *phy, int *link_state, int *speed, int *duplex,
struct cphy *phy = &pinfo->phy;
aq100x_temperature(struct cphy *phy)
aq100x_set_defaults(struct cphy *phy)
struct cphy;
int (*reset)(struct cphy *phy, int wait);
int (*intr_enable)(struct cphy *phy);
int (*intr_disable)(struct cphy *phy);
int (*intr_clear)(struct cphy *phy);
int (*intr_handler)(struct cphy *phy);
int (*autoneg_enable)(struct cphy *phy);
int (*autoneg_restart)(struct cphy *phy);
int (*advertise)(struct cphy *phy, unsigned int advertise_map);
int (*set_loopback)(struct cphy *phy, int mmd, int dir, int enable);
int (*set_speed_duplex)(struct cphy *phy, int speed, int duplex);
int (*get_link_status)(struct cphy *phy, int *link_state, int *speed,
int (*power_down)(struct cphy *phy, int enable);
static inline int mdio_read(struct cphy *phy, int mmd, int reg,
static inline int mdio_write(struct cphy *phy, int mmd, int reg,
static inline void cphy_init(struct cphy *phy, adapter_t *adapter, pinfo_t *pinfo,
int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear,
int t3_phy_reset(struct cphy *phy, int mmd, int wait);
int t3_phy_advertise(struct cphy *phy, unsigned int advert);
int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert);
int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex);
int t3_phy_lasi_intr_enable(struct cphy *phy);
int t3_phy_lasi_intr_disable(struct cphy *phy);
int t3_phy_lasi_intr_clear(struct cphy *phy);
int t3_phy_lasi_intr_handler(struct cphy *phy);
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
static int mv88e1xxx_reset(struct cphy *cphy, int wait)
return t3_phy_reset(cphy, 0, wait);
static int mv88e1xxx_intr_enable(struct cphy *cphy)
return mdio_write(cphy, 0, MV88E1XXX_INTR_ENABLE, INTR_ENABLE_MASK);
static int mv88e1xxx_intr_disable(struct cphy *cphy)
return mdio_write(cphy, 0, MV88E1XXX_INTR_ENABLE, 0);
static int mv88e1xxx_intr_clear(struct cphy *cphy)
return mdio_read(cphy, 0, MV88E1XXX_INTR_STATUS, &val);
static int mv88e1xxx_crossover_set(struct cphy *cphy, int crossover)
return t3_mdio_change_bits(cphy, 0, MV88E1XXX_SPECIFIC_CNTRL,
static int mv88e1xxx_autoneg_enable(struct cphy *cphy)
mv88e1xxx_crossover_set(cphy, CROSSOVER_AUTO);
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
static int mv88e1xxx_autoneg_restart(struct cphy *cphy)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
static int mv88e1xxx_set_loopback(struct cphy *cphy, int mmd, int dir, int on)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_LOOPBACK,
static int mv88e1xxx_get_link_status(struct cphy *cphy, int *link_state,
mdio_read(cphy, 0, MV88E1XXX_SPECIFIC_STATUS, &status);
static int mv88e1xxx_set_speed_duplex(struct cphy *phy, int speed, int duplex)
static int mv88e1xxx_downshift_set(struct cphy *cphy, int downshift_enable)
return t3_mdio_change_bits(cphy, 0, MV88E1XXX_EXT_SPECIFIC_CNTRL,
static int mv88e1xxx_power_down(struct cphy *cphy, int enable)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN,
static int mv88e1xxx_intr_handler(struct cphy *cphy)
mdio_read(cphy, 0, MV88E1XXX_INTR_STATUS, &cause);
struct cphy *phy = &pinfo->phy;
struct cphy *phy = &pi->phy;
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear,
int t3_phy_reset(struct cphy *phy, int mmd, int wait)
int t3_phy_advertise(struct cphy *phy, unsigned int advert)
int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert)
int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex)
int t3_phy_lasi_intr_enable(struct cphy *phy)
int t3_phy_lasi_intr_disable(struct cphy *phy)
int t3_phy_lasi_intr_clear(struct cphy *phy)
int t3_phy_lasi_intr_handler(struct cphy *phy)
static int tn1010_advertise(struct cphy *phy, unsigned int advert)
static int tn1010_get_link_status(struct cphy *phy, int *link_state,
static int tn1010_set_speed_duplex(struct cphy *phy, int speed, int duplex)
static int tn1010_reset(struct cphy *phy, int wait)
static int tn1010_power_down(struct cphy *phy, int enable)
static int tn1010_autoneg_enable(struct cphy *phy)
static int tn1010_autoneg_restart(struct cphy *phy)
static int vsc8211_intr_enable(struct cphy *cphy)
return mdio_write(cphy, 0, VSC8211_INTR_ENABLE, INTR_MASK);
static int vsc8211_intr_disable(struct cphy *cphy)
return mdio_write(cphy, 0, VSC8211_INTR_ENABLE, 0);
static int vsc8211_intr_clear(struct cphy *cphy)
return mdio_read(cphy, 0, VSC8211_INTR_STATUS, &val);
static int vsc8211_autoneg_enable(struct cphy *cphy)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
static int vsc8211_autoneg_restart(struct cphy *cphy)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE,
static int vsc8211_get_link_status(struct cphy *cphy, int *link_state,
err = mdio_read(cphy, 0, MII_BMCR, &bmcr);
err = mdio_read(cphy, 0, MII_BMSR, &status);
err = mdio_read(cphy, 0, MII_BMSR, &status);
err = mdio_read(cphy, 0, VSC8211_AUX_CTRL_STAT, &status);
err = mdio_read(cphy, 0, MII_LPA, &lpa);
err = mdio_read(cphy, 0, MII_ADVERTISE, &adv);
static int vsc8211_get_link_status_fiber(struct cphy *cphy, int *link_state,
err = mdio_read(cphy, 0, MII_BMCR, &bmcr);
err = mdio_read(cphy, 0, MII_BMSR, &status);
err = mdio_read(cphy, 0, MII_BMSR, &status);
err = mdio_read(cphy, 0, MII_LPA, &lpa);
err = mdio_read(cphy, 0, MII_ADVERTISE, &adv);
static int vsc8211_set_automdi(struct cphy *phy, int enable)
static int vsc8211_set_speed_duplex(struct cphy *phy, int speed, int duplex)
static int vsc8211_power_down(struct cphy *cphy, int enable)
return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN,
static int vsc8211_intr_handler(struct cphy *cphy)
err = mdio_read(cphy, 0, VSC8211_INTR_STATUS, &cause);
struct cphy *phy = &portinfo->phy;
struct cphy *phy = &pinfo->phy;
static int vsc8211_reset(struct cphy *cphy, int wait)
return t3_phy_reset(cphy, 0, 0);
struct cphy phy;
struct cphy *phy = &p->phy;
struct cphy *phy = &pi->phy;
struct cphy *phy = &pi->phy;