cphy 219 drivers/net/ethernet/chelsio/cxgb/common.h struct cphy; cphy 224 drivers/net/ethernet/chelsio/cxgb/common.h struct cphy *phy; cphy 341 drivers/net/ethernet/chelsio/cxgb/common.h int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc); cphy 65 drivers/net/ethernet/chelsio/cxgb/cphy.h struct cphy; cphy 69 drivers/net/ethernet/chelsio/cxgb/cphy.h void (*destroy)(struct cphy *); cphy 70 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*reset)(struct cphy *, int wait); cphy 72 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*interrupt_enable)(struct cphy *); cphy 73 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*interrupt_disable)(struct cphy *); cphy 74 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*interrupt_clear)(struct cphy *); cphy 75 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*interrupt_handler)(struct cphy *); cphy 77 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*autoneg_enable)(struct cphy *); cphy 78 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*autoneg_disable)(struct cphy *); cphy 79 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*autoneg_restart)(struct cphy *); cphy 81 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*advertise)(struct cphy *phy, unsigned int advertise_map); cphy 82 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*set_loopback)(struct cphy *, int on); cphy 83 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*set_speed_duplex)(struct cphy *phy, int speed, int duplex); cphy 84 drivers/net/ethernet/chelsio/cxgb/cphy.h int (*get_link_status)(struct cphy *phy, int *link_ok, int *speed, cphy 110 drivers/net/ethernet/chelsio/cxgb/cphy.h static inline int cphy_mdio_read(struct cphy *cphy, int mmd, int reg, cphy 113 drivers/net/ethernet/chelsio/cxgb/cphy.h int rc = cphy->mdio.mdio_read(cphy->mdio.dev, cphy->mdio.prtad, mmd, cphy 119 drivers/net/ethernet/chelsio/cxgb/cphy.h static inline int cphy_mdio_write(struct cphy *cphy, int mmd, int reg, cphy 122 drivers/net/ethernet/chelsio/cxgb/cphy.h return cphy->mdio.mdio_write(cphy->mdio.dev, cphy->mdio.prtad, mmd, cphy 126 drivers/net/ethernet/chelsio/cxgb/cphy.h static inline int simple_mdio_read(struct cphy *cphy, int reg, cphy 129 drivers/net/ethernet/chelsio/cxgb/cphy.h return cphy_mdio_read(cphy, MDIO_DEVAD_NONE, reg, valp); cphy 132 drivers/net/ethernet/chelsio/cxgb/cphy.h static inline int simple_mdio_write(struct cphy *cphy, int reg, cphy 135 drivers/net/ethernet/chelsio/cxgb/cphy.h return cphy_mdio_write(cphy, MDIO_DEVAD_NONE, reg, val); cphy 139 drivers/net/ethernet/chelsio/cxgb/cphy.h static inline void cphy_init(struct cphy *phy, struct net_device *dev, cphy 159 drivers/net/ethernet/chelsio/cxgb/cphy.h struct cphy *(*create)(struct net_device *dev, int phy_addr, cphy 18 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static void mdio_set_bit(struct cphy *cphy, int reg, u32 bitval) cphy 22 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, reg, &val); cphy 23 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, reg, val | bitval); cphy 29 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static void mdio_clear_bit(struct cphy *cphy, int reg, u32 bitval) cphy 33 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, reg, &val); cphy 34 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, reg, val & ~bitval); cphy 48 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_reset(struct cphy *cphy, int wait) cphy 53 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c mdio_set_bit(cphy, MII_BMCR, BMCR_RESET); cphy 56 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, MII_BMCR, &ctl); cphy 65 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_interrupt_enable(struct cphy *cphy) cphy 68 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, MV88E1XXX_INTERRUPT_ENABLE_REGISTER, cphy 72 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (t1_is_asic(cphy->adapter)) { cphy 75 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer); cphy 77 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (is_T2(cphy->adapter)) cphy 79 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer); cphy 84 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_interrupt_disable(struct cphy *cphy) cphy 87 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, MV88E1XXX_INTERRUPT_ENABLE_REGISTER, 0); cphy 90 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (t1_is_asic(cphy->adapter)) { cphy 93 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer); cphy 95 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (is_T2(cphy->adapter)) cphy 97 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer); cphy 102 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_interrupt_clear(struct cphy *cphy) cphy 107 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 111 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (t1_is_asic(cphy->adapter)) { cphy 112 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_CAUSE, &elmer); cphy 114 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (is_T2(cphy->adapter)) cphy 116 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_CAUSE, elmer); cphy 125 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_set_speed_duplex(struct cphy *phy, int speed, int duplex) cphy 148 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_crossover_set(struct cphy *cphy, int crossover) cphy 152 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 156 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, cphy 161 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_autoneg_enable(struct cphy *cphy) cphy 165 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) mv88e1xxx_crossover_set(cphy, CROSSOVER_AUTO); cphy 167 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, MII_BMCR, &ctl); cphy 170 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, MII_BMCR, ctl); cphy 174 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_autoneg_disable(struct cphy *cphy) cphy 182 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) mv88e1xxx_crossover_set(cphy, CROSSOVER_MDI); cphy 188 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, MII_BMCR, &ctl); cphy 190 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, MII_BMCR, ctl | BMCR_ANRESTART); cphy 194 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_autoneg_restart(struct cphy *cphy) cphy 196 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c mdio_set_bit(cphy, MII_BMCR, BMCR_ANRESTART); cphy 200 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_advertise(struct cphy *phy, unsigned int advertise_map) cphy 232 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_set_loopback(struct cphy *cphy, int on) cphy 235 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c mdio_set_bit(cphy, MII_BMCR, BMCR_LOOPBACK); cphy 237 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c mdio_clear_bit(cphy, MII_BMCR, BMCR_LOOPBACK); cphy 241 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_get_link_status(struct cphy *cphy, int *link_ok, cphy 247 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 274 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_downshift_set(struct cphy *cphy, int downshift_enable) cphy 278 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 289 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, cphy 294 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static int mv88e1xxx_interrupt_handler(struct cphy *cphy) cphy 305 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 313 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_read(cphy, cphy 317 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c cphy->state |= PHY_LINK_UP; cphy 319 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c cphy->state &= ~PHY_LINK_UP; cphy 320 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (cphy->state & PHY_AUTONEG_EN) cphy 321 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c cphy->state &= ~PHY_AUTONEG_RDY; cphy 327 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c cphy->state |= PHY_AUTONEG_RDY; cphy 329 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if ((cphy->state & (PHY_LINK_UP | PHY_AUTONEG_RDY)) == cphy 336 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static void mv88e1xxx_destroy(struct cphy *cphy) cphy 338 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c kfree(cphy); cphy 357 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c static struct cphy *mv88e1xxx_phy_create(struct net_device *dev, int phy_addr, cphy 361 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c struct cphy *cphy = kzalloc(sizeof(*cphy), GFP_KERNEL); cphy 363 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c if (!cphy) cphy 366 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c cphy_init(cphy, dev, phy_addr, &mv88e1xxx_ops, mdio_ops); cphy 374 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, cphy 376 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, cphy 379 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) mv88e1xxx_downshift_set(cphy, 1); /* Enable downshift */ cphy 383 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c (void) simple_mdio_write(cphy, cphy 387 drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c return cphy; cphy 49 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int led_init(struct cphy *cphy) cphy 55 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PCS, 0x8304, 0xdddd); cphy 59 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int led_link(struct cphy *cphy, u32 do_enable) cphy 64 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, &led); cphy 68 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, led); cphy 71 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_CTRL2, led); cphy 77 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_reset(struct cphy *cphy, int wait) cphy 85 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_interrupt_enable(struct cphy *cphy) cphy 88 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL, cphy 92 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c if (t1_is_asic(cphy->adapter)) { cphy 95 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer); cphy 97 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer); cphy 102 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_interrupt_disable(struct cphy *cphy) cphy 105 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_CTRL, 0x0); cphy 108 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c if (t1_is_asic(cphy->adapter)) { cphy 111 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_ENABLE, &elmer); cphy 113 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_ENABLE, elmer); cphy 118 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_interrupt_clear(struct cphy *cphy) cphy 125 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_RXSTAT, &val); cphy 126 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_TXSTAT, &val); cphy 127 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_STAT, &val); cphy 132 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT1, &val); cphy 136 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT1, &val); cphy 138 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_STAT, &val); cphy 142 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_RXSTAT, &val); cphy 143 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_PMA_LASI_TXSTAT, &val); cphy 147 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c if (t1_is_asic(cphy->adapter)) { cphy 148 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_read(cphy->adapter, A_ELMER0_INT_CAUSE, &elmer); cphy 150 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c t1_tpi_write(cphy->adapter, A_ELMER0_INT_CAUSE, elmer); cphy 155 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_interrupt_handler(struct cphy *cphy) cphy 158 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c mv88x201x_interrupt_clear(cphy); cphy 166 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_set_loopback(struct cphy *cphy, int on) cphy 171 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static int mv88x201x_get_link_status(struct cphy *cphy, int *link_ok, cphy 178 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT1, &val); cphy 182 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c led_link(cphy, *link_ok); cphy 193 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static void mv88x201x_destroy(struct cphy *cphy) cphy 195 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c kfree(cphy); cphy 211 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c static struct cphy *mv88x201x_phy_create(struct net_device *dev, int phy_addr, cphy 215 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c struct cphy *cphy = kzalloc(sizeof(*cphy), GFP_KERNEL); cphy 217 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c if (!cphy) cphy 220 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_init(cphy, dev, phy_addr, &mv88x201x_ops, mdio_ops); cphy 223 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PCS, 0x8300, &val); cphy 224 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_write(cphy, MDIO_MMD_PCS, 0x8300, val | 1); cphy 227 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT2, &val); cphy 228 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c cphy_mdio_read(cphy, MDIO_MMD_PCS, MDIO_STAT2, &val); cphy 231 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c led_init(cphy); cphy 232 drivers/net/ethernet/chelsio/cxgb/mv88x201x.c return cphy; cphy 8 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_reset(struct cphy *cphy, int wait) cphy 17 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_interrupt_enable(struct cphy *cphy) cphy 19 drivers/net/ethernet/chelsio/cxgb/my3126.c schedule_delayed_work(&cphy->phy_update, HZ/30); cphy 20 drivers/net/ethernet/chelsio/cxgb/my3126.c t1_tpi_read(cphy->adapter, A_ELMER0_GPO, &cphy->elmer_gpo); cphy 24 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_interrupt_disable(struct cphy *cphy) cphy 26 drivers/net/ethernet/chelsio/cxgb/my3126.c cancel_delayed_work_sync(&cphy->phy_update); cphy 30 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_interrupt_clear(struct cphy *cphy) cphy 37 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_interrupt_handler(struct cphy *cphy) cphy 44 drivers/net/ethernet/chelsio/cxgb/my3126.c adapter = cphy->adapter; cphy 46 drivers/net/ethernet/chelsio/cxgb/my3126.c if (cphy->count == 50) { cphy 47 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT1, &val); cphy 49 drivers/net/ethernet/chelsio/cxgb/my3126.c status = cphy->bmsr ^ val16; cphy 53 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->bmsr = val16; cphy 58 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->count = 0; cphy 71 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->elmer_gpo = val; cphy 74 drivers/net/ethernet/chelsio/cxgb/my3126.c (cphy->act_count == act_count) || cphy->act_on ) { cphy 79 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->act_on = 0; cphy 85 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->act_on = 1; cphy 90 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->elmer_gpo = val; cphy 91 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->act_count = act_count; cphy 92 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->count++; cphy 99 drivers/net/ethernet/chelsio/cxgb/my3126.c struct cphy *cphy = container_of(work, struct cphy, phy_update.work); cphy 101 drivers/net/ethernet/chelsio/cxgb/my3126.c my3126_interrupt_handler(cphy); cphy 104 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_set_loopback(struct cphy *cphy, int on) cphy 110 drivers/net/ethernet/chelsio/cxgb/my3126.c static int my3126_get_link_status(struct cphy *cphy, cphy 117 drivers/net/ethernet/chelsio/cxgb/my3126.c adapter = cphy->adapter; cphy 118 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy_mdio_read(cphy, MDIO_MMD_PMAPMD, MDIO_STAT1, &val); cphy 123 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->elmer_gpo = val; cphy 142 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->elmer_gpo = val; cphy 153 drivers/net/ethernet/chelsio/cxgb/my3126.c static void my3126_destroy(struct cphy *cphy) cphy 155 drivers/net/ethernet/chelsio/cxgb/my3126.c kfree(cphy); cphy 171 drivers/net/ethernet/chelsio/cxgb/my3126.c static struct cphy *my3126_phy_create(struct net_device *dev, cphy 174 drivers/net/ethernet/chelsio/cxgb/my3126.c struct cphy *cphy = kzalloc(sizeof (*cphy), GFP_KERNEL); cphy 176 drivers/net/ethernet/chelsio/cxgb/my3126.c if (!cphy) cphy 179 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy_init(cphy, dev, phy_addr, &my3126_ops, mdio_ops); cphy 180 drivers/net/ethernet/chelsio/cxgb/my3126.c INIT_DELAYED_WORK(&cphy->phy_update, my3126_poll); cphy 181 drivers/net/ethernet/chelsio/cxgb/my3126.c cphy->bmsr = 0; cphy 183 drivers/net/ethernet/chelsio/cxgb/my3126.c return cphy; cphy 153 drivers/net/ethernet/chelsio/cxgb/subr.c struct cphy *phy = adapter->port[port_id].phy; cphy 200 drivers/net/ethernet/chelsio/cxgb/subr.c struct cphy *phy = adapter->port[p].phy; cphy 623 drivers/net/ethernet/chelsio/cxgb/subr.c int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc) cphy 669 drivers/net/ethernet/chelsio/cxgb/subr.c struct cphy *phy; cphy 1014 drivers/net/ethernet/chelsio/cxgb/subr.c struct cphy *phy = adapter->port[i].phy; cphy 72 drivers/net/ethernet/chelsio/cxgb3/adapter.h struct cphy phy; cphy 289 drivers/net/ethernet/chelsio/cxgb3/adapter.h static inline int phy2portid(struct cphy *phy) cphy 331 drivers/net/ethernet/chelsio/cxgb3/adapter.h int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size); cphy 84 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int set_phy_regs(struct cphy *phy, const struct reg_val *rv) cphy 100 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static void ael100x_txon(struct cphy *phy) cphy 113 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael_i2c_rd(struct cphy *phy, int dev_addr, int word_addr) cphy 141 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael1002_power_down(struct cphy *phy, int enable) cphy 153 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael1002_reset(struct cphy *phy, int wait) cphy 168 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael1002_intr_noop(struct cphy *phy) cphy 176 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int get_link_status_r(struct cphy *phy, int *link_ok, int *speed, cphy 212 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 222 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael1006_reset(struct cphy *phy, int wait) cphy 238 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 251 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2xxx_get_module_type(struct cphy *phy, int delay_ms) cphy 293 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_setup_sr_edc(struct cphy *phy) cphy 325 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_setup_twinax_edc(struct cphy *phy, int modtype) cphy 361 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_get_module_type(struct cphy *phy, int delay_ms) cphy 376 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_intr_enable(struct cphy *phy) cphy 382 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_intr_disable(struct cphy *phy) cphy 388 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_intr_clear(struct cphy *phy) cphy 394 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_reset(struct cphy *phy, int wait) cphy 454 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2005_intr_handler(struct cphy *phy) cphy 509 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 523 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_setup_sr_edc(struct cphy *phy) cphy 551 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_setup_twinax_edc(struct cphy *phy, int modtype) cphy 604 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_get_module_type(struct cphy *phy, int delay_ms) cphy 625 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_intr_enable(struct cphy *phy) cphy 665 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_intr_disable(struct cphy *phy) cphy 692 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_intr_clear(struct cphy *phy) cphy 722 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_reset(struct cphy *phy, int wait) cphy 765 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int ael2020_intr_handler(struct cphy *phy) cphy 815 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, cphy 834 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int get_link_status_x(struct cphy *phy, int *link_ok, int *speed, cphy 870 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 890 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int xaui_direct_reset(struct cphy *phy, int wait) cphy 895 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int xaui_direct_get_link_status(struct cphy *phy, int *link_ok, cphy 919 drivers/net/ethernet/chelsio/cxgb3/ael1002.c static int xaui_direct_power_down(struct cphy *phy, int enable) cphy 934 drivers/net/ethernet/chelsio/cxgb3/ael1002.c int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 65 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_reset(struct cphy *phy, int wait) cphy 80 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_intr_enable(struct cphy *phy) cphy 90 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_intr_disable(struct cphy *phy) cphy 95 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_intr_clear(struct cphy *phy) cphy 105 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_intr_handler(struct cphy *phy) cphy 120 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_power_down(struct cphy *phy, int off) cphy 127 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_autoneg_enable(struct cphy *phy) cphy 140 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_autoneg_restart(struct cphy *phy) cphy 153 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_advertise(struct cphy *phy, unsigned int advertise_map) cphy 194 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_set_loopback(struct cphy *phy, int mmd, int dir, int enable) cphy 201 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_set_speed_duplex(struct cphy *phy, int speed, int duplex) cphy 207 drivers/net/ethernet/chelsio/cxgb3/aq100x.c static int aq100x_get_link_status(struct cphy *phy, int *link_ok, cphy 266 drivers/net/ethernet/chelsio/cxgb3/aq100x.c int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, cphy 153 drivers/net/ethernet/chelsio/cxgb3/common.h struct cphy; cphy 518 drivers/net/ethernet/chelsio/cxgb3/common.h int (*reset)(struct cphy *phy, int wait); cphy 520 drivers/net/ethernet/chelsio/cxgb3/common.h int (*intr_enable)(struct cphy *phy); cphy 521 drivers/net/ethernet/chelsio/cxgb3/common.h int (*intr_disable)(struct cphy *phy); cphy 522 drivers/net/ethernet/chelsio/cxgb3/common.h int (*intr_clear)(struct cphy *phy); cphy 523 drivers/net/ethernet/chelsio/cxgb3/common.h int (*intr_handler)(struct cphy *phy); cphy 525 drivers/net/ethernet/chelsio/cxgb3/common.h int (*autoneg_enable)(struct cphy *phy); cphy 526 drivers/net/ethernet/chelsio/cxgb3/common.h int (*autoneg_restart)(struct cphy *phy); cphy 528 drivers/net/ethernet/chelsio/cxgb3/common.h int (*advertise)(struct cphy *phy, unsigned int advertise_map); cphy 529 drivers/net/ethernet/chelsio/cxgb3/common.h int (*set_loopback)(struct cphy *phy, int mmd, int dir, int enable); cphy 530 drivers/net/ethernet/chelsio/cxgb3/common.h int (*set_speed_duplex)(struct cphy *phy, int speed, int duplex); cphy 531 drivers/net/ethernet/chelsio/cxgb3/common.h int (*get_link_status)(struct cphy *phy, int *link_ok, int *speed, cphy 533 drivers/net/ethernet/chelsio/cxgb3/common.h int (*power_down)(struct cphy *phy, int enable); cphy 561 drivers/net/ethernet/chelsio/cxgb3/common.h static inline int t3_mdio_read(struct cphy *phy, int mmd, int reg, cphy 569 drivers/net/ethernet/chelsio/cxgb3/common.h static inline int t3_mdio_write(struct cphy *phy, int mmd, int reg, cphy 577 drivers/net/ethernet/chelsio/cxgb3/common.h static inline void cphy_init(struct cphy *phy, struct adapter *adapter, cphy 654 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear, cphy 656 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_reset(struct cphy *phy, int mmd, int wait); cphy 657 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_advertise(struct cphy *phy, unsigned int advert); cphy 658 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert); cphy 659 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex); cphy 660 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_lasi_intr_enable(struct cphy *phy); cphy 661 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_lasi_intr_disable(struct cphy *phy); cphy 662 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_lasi_intr_clear(struct cphy *phy); cphy 663 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_phy_lasi_intr_handler(struct cphy *phy); cphy 677 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc); cphy 757 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 759 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 761 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 763 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 765 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_ael2020_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 767 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, cphy 769 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 771 drivers/net/ethernet/chelsio/cxgb3/common.h int t3_aq100x_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 1027 drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size) cphy 328 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_mdio_change_bits(struct cphy *phy, int mmd, int reg, unsigned int clear, cphy 352 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_reset(struct cphy *phy, int mmd, int wait) cphy 382 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_advertise(struct cphy *phy, unsigned int advert) cphy 425 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_advertise_fiber(struct cphy *phy, unsigned int advert) cphy 449 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_set_phy_speed_duplex(struct cphy *phy, int speed, int duplex) cphy 475 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_lasi_intr_enable(struct cphy *phy) cphy 481 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_lasi_intr_disable(struct cphy *phy) cphy 486 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_lasi_intr_clear(struct cphy *phy) cphy 493 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_phy_lasi_intr_handler(struct cphy *phy) cphy 548 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int (*phy_prep)(struct cphy *phy, struct adapter *adapter, cphy 1244 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c struct cphy *phy = &pi->phy; cphy 1301 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c struct cphy *phy = &pi->phy; cphy 1363 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc) cphy 2118 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c struct cphy *phy = &adap2pinfo(adapter, idx)->phy; cphy 2135 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c struct cphy *phy = &adap2pinfo(adapter, idx)->phy; cphy 2152 drivers/net/ethernet/chelsio/cxgb3/t3_hw.c struct cphy *phy = &adap2pinfo(adapter, idx)->phy; cphy 92 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_reset(struct cphy *cphy, int wait) cphy 94 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_phy_reset(cphy, MDIO_DEVAD_NONE, 0); cphy 97 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_intr_enable(struct cphy *cphy) cphy 99 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_write(cphy, MDIO_DEVAD_NONE, VSC8211_INTR_ENABLE, cphy 103 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_intr_disable(struct cphy *cphy) cphy 105 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_write(cphy, MDIO_DEVAD_NONE, VSC8211_INTR_ENABLE, 0); cphy 108 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_intr_clear(struct cphy *cphy) cphy 113 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_read(cphy, MDIO_DEVAD_NONE, VSC8211_INTR_STATUS, &val); cphy 116 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_autoneg_enable(struct cphy *cphy) cphy 118 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_change_bits(cphy, MDIO_DEVAD_NONE, MII_BMCR, cphy 123 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_autoneg_restart(struct cphy *cphy) cphy 125 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_change_bits(cphy, MDIO_DEVAD_NONE, MII_BMCR, cphy 130 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_get_link_status(struct cphy *cphy, int *link_ok, cphy 136 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMCR, &bmcr); cphy 138 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMSR, &status); cphy 148 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMSR, cphy 163 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, VSC8211_AUX_CTRL_STAT, cphy 178 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_LPA, cphy 181 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, cphy 206 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_get_link_status_fiber(struct cphy *cphy, int *link_ok, cphy 212 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMCR, &bmcr); cphy 214 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMSR, &status); cphy 224 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_BMSR, cphy 239 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_LPA, &lpa); cphy 241 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, MII_ADVERTISE, cphy 278 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_set_automdi(struct cphy *phy, int enable) cphy 305 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c int vsc8211_set_speed_duplex(struct cphy *phy, int speed, int duplex) cphy 316 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_power_down(struct cphy *cphy, int enable) cphy 318 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c return t3_mdio_change_bits(cphy, 0, MII_BMCR, BMCR_PDOWN, cphy 322 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c static int vsc8211_intr_handler(struct cphy *cphy) cphy 327 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c err = t3_mdio_read(cphy, MDIO_DEVAD_NONE, VSC8211_INTR_STATUS, &cause); cphy 367 drivers/net/ethernet/chelsio/cxgb3/vsc8211.c int t3_vsc8211_phy_prep(struct cphy *phy, struct adapter *adapter, cphy 815 drivers/scsi/libsas/sas_expander.c struct sas_phy *cphy = child->phy; cphy 816 drivers/scsi/libsas/sas_expander.c enum sas_linkrate min_prate = cphy->minimum_linkrate,