Lines Matching refs:phydev
666 void (*phy_link_change)(struct phy_device *phydev, bool up);
736 int (*soft_reset)(struct phy_device *phydev);
742 int (*config_init)(struct phy_device *phydev);
748 int (*probe)(struct phy_device *phydev);
754 int (*get_features)(struct phy_device *phydev);
758 int (*suspend)(struct phy_device *phydev);
760 int (*resume)(struct phy_device *phydev);
768 int (*config_aneg)(struct phy_device *phydev);
771 int (*aneg_done)(struct phy_device *phydev);
774 int (*read_status)(struct phy_device *phydev);
781 int (*config_intr)(struct phy_device *phydev);
784 irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
787 void (*remove)(struct phy_device *phydev);
794 int (*match_phy_device)(struct phy_device *phydev);
917 int (*run)(struct phy_device *phydev);
937 void of_set_phy_supported(struct phy_device *phydev);
938 void of_set_phy_eee_broken(struct phy_device *phydev);
939 int phy_speed_down_core(struct phy_device *phydev);
945 static inline bool phy_is_started(struct phy_device *phydev) in phy_is_started() argument
947 return phydev->state >= PHY_UP; in phy_is_started()
950 void phy_resolve_aneg_pause(struct phy_device *phydev);
951 void phy_resolve_aneg_linkmode(struct phy_device *phydev);
952 void phy_check_downshift(struct phy_device *phydev);
963 static inline int phy_read(struct phy_device *phydev, u32 regnum) in phy_read() argument
965 return mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, regnum); in phy_read()
968 #define phy_read_poll_timeout(phydev, regnum, val, cond, sleep_us, \ argument
972 sleep_us, timeout_us, sleep_before_read, phydev, regnum); \
976 phydev_err(phydev, "%s failed: %d\n", __func__, __ret); \
988 static inline int __phy_read(struct phy_device *phydev, u32 regnum) in __phy_read() argument
990 return __mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, regnum); in __phy_read()
1003 static inline int phy_write(struct phy_device *phydev, u32 regnum, u16 val) in phy_write() argument
1005 return mdiobus_write(phydev->mdio.bus, phydev->mdio.addr, regnum, val); in phy_write()
1016 static inline int __phy_write(struct phy_device *phydev, u32 regnum, u16 val) in __phy_write() argument
1018 return __mdiobus_write(phydev->mdio.bus, phydev->mdio.addr, regnum, in __phy_write()
1034 static inline int __phy_modify_changed(struct phy_device *phydev, u32 regnum, in __phy_modify_changed() argument
1037 return __mdiobus_modify_changed(phydev->mdio.bus, phydev->mdio.addr, in __phy_modify_changed()
1045 int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum);
1065 #define phy_read_mmd_poll_timeout(phydev, devaddr, regnum, val, cond, \ argument
1070 phydev, devaddr, regnum); \
1074 phydev_err(phydev, "%s failed: %d\n", __func__, __ret); \
1082 int __phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum);
1088 int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
1094 int __phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
1096 int __phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask,
1098 int phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask,
1100 int __phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
1101 int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
1103 int __phy_modify_mmd_changed(struct phy_device *phydev, int devad, u32 regnum,
1105 int phy_modify_mmd_changed(struct phy_device *phydev, int devad, u32 regnum,
1107 int __phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
1109 int phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
1120 static inline int __phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val) in __phy_set_bits() argument
1122 return __phy_modify(phydev, regnum, 0, val); in __phy_set_bits()
1133 static inline int __phy_clear_bits(struct phy_device *phydev, u32 regnum, in __phy_clear_bits() argument
1136 return __phy_modify(phydev, regnum, val, 0); in __phy_clear_bits()
1145 static inline int phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val) in phy_set_bits() argument
1147 return phy_modify(phydev, regnum, 0, val); in phy_set_bits()
1156 static inline int phy_clear_bits(struct phy_device *phydev, u32 regnum, u16 val) in phy_clear_bits() argument
1158 return phy_modify(phydev, regnum, val, 0); in phy_clear_bits()
1171 static inline int __phy_set_bits_mmd(struct phy_device *phydev, int devad, in __phy_set_bits_mmd() argument
1174 return __phy_modify_mmd(phydev, devad, regnum, 0, val); in __phy_set_bits_mmd()
1187 static inline int __phy_clear_bits_mmd(struct phy_device *phydev, int devad, in __phy_clear_bits_mmd() argument
1190 return __phy_modify_mmd(phydev, devad, regnum, val, 0); in __phy_clear_bits_mmd()
1201 static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad, in phy_set_bits_mmd() argument
1204 return phy_modify_mmd(phydev, devad, regnum, 0, val); in phy_set_bits_mmd()
1215 static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad, in phy_clear_bits_mmd() argument
1218 return phy_modify_mmd(phydev, devad, regnum, val, 0); in phy_clear_bits_mmd()
1228 static inline bool phy_interrupt_is_valid(struct phy_device *phydev) in phy_interrupt_is_valid() argument
1230 return phydev->irq != PHY_POLL && phydev->irq != PHY_MAC_INTERRUPT; in phy_interrupt_is_valid()
1238 static inline bool phy_polling_mode(struct phy_device *phydev) in phy_polling_mode() argument
1240 if (phydev->state == PHY_CABLETEST) in phy_polling_mode()
1241 if (phydev->drv->flags & PHY_POLL_CABLE_TEST) in phy_polling_mode()
1244 return phydev->irq == PHY_POLL; in phy_polling_mode()
1251 static inline bool phy_has_hwtstamp(struct phy_device *phydev) in phy_has_hwtstamp() argument
1253 return phydev && phydev->mii_ts && phydev->mii_ts->hwtstamp; in phy_has_hwtstamp()
1260 static inline bool phy_has_rxtstamp(struct phy_device *phydev) in phy_has_rxtstamp() argument
1262 return phydev && phydev->mii_ts && phydev->mii_ts->rxtstamp; in phy_has_rxtstamp()
1270 static inline bool phy_has_tsinfo(struct phy_device *phydev) in phy_has_tsinfo() argument
1272 return phydev && phydev->mii_ts && phydev->mii_ts->ts_info; in phy_has_tsinfo()
1279 static inline bool phy_has_txtstamp(struct phy_device *phydev) in phy_has_txtstamp() argument
1281 return phydev && phydev->mii_ts && phydev->mii_ts->txtstamp; in phy_has_txtstamp()
1284 static inline int phy_hwtstamp(struct phy_device *phydev, struct ifreq *ifr) in phy_hwtstamp() argument
1286 return phydev->mii_ts->hwtstamp(phydev->mii_ts, ifr); in phy_hwtstamp()
1289 static inline bool phy_rxtstamp(struct phy_device *phydev, struct sk_buff *skb, in phy_rxtstamp() argument
1292 return phydev->mii_ts->rxtstamp(phydev->mii_ts, skb, type); in phy_rxtstamp()
1295 static inline int phy_ts_info(struct phy_device *phydev, in phy_ts_info() argument
1298 return phydev->mii_ts->ts_info(phydev->mii_ts, tsinfo); in phy_ts_info()
1301 static inline void phy_txtstamp(struct phy_device *phydev, struct sk_buff *skb, in phy_txtstamp() argument
1304 phydev->mii_ts->txtstamp(phydev->mii_ts, skb, type); in phy_txtstamp()
1311 static inline bool phy_is_internal(struct phy_device *phydev) in phy_is_internal() argument
1313 return phydev->is_internal; in phy_is_internal()
1320 static inline bool phy_on_sfp(struct phy_device *phydev) in phy_on_sfp() argument
1322 return phydev->is_on_sfp_module; in phy_on_sfp()
1355 static inline bool phy_interface_is_rgmii(struct phy_device *phydev) in phy_interface_is_rgmii() argument
1357 return phy_interface_mode_is_rgmii(phydev->interface); in phy_interface_is_rgmii()
1365 static inline bool phy_is_pseudo_fixed_link(struct phy_device *phydev) in phy_is_pseudo_fixed_link() argument
1367 return phydev->is_pseudo_fixed_link; in phy_is_pseudo_fixed_link()
1370 int phy_save_page(struct phy_device *phydev);
1371 int phy_select_page(struct phy_device *phydev, int page);
1372 int phy_restore_page(struct phy_device *phydev, int oldpage, int ret);
1373 int phy_read_paged(struct phy_device *phydev, int page, u32 regnum);
1374 int phy_write_paged(struct phy_device *phydev, int page, u32 regnum, u16 val);
1375 int phy_modify_paged_changed(struct phy_device *phydev, int page, u32 regnum,
1377 int phy_modify_paged(struct phy_device *phydev, int page, u32 regnum,
1391 void phy_device_free(struct phy_device *phydev);
1431 static inline void phy_device_free(struct phy_device *phydev) { } in phy_device_free() argument
1433 void phy_device_remove(struct phy_device *phydev);
1434 int phy_get_c45_ids(struct phy_device *phydev);
1435 int phy_init_hw(struct phy_device *phydev);
1436 int phy_suspend(struct phy_device *phydev);
1437 int phy_resume(struct phy_device *phydev);
1438 int __phy_resume(struct phy_device *phydev);
1439 int phy_loopback(struct phy_device *phydev, bool enable);
1442 int phy_sfp_probe(struct phy_device *phydev,
1447 int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
1449 int phy_connect_direct(struct net_device *dev, struct phy_device *phydev,
1455 void phy_disconnect(struct phy_device *phydev);
1456 void phy_detach(struct phy_device *phydev);
1457 void phy_start(struct phy_device *phydev);
1458 void phy_stop(struct phy_device *phydev);
1459 int phy_config_aneg(struct phy_device *phydev);
1460 int phy_start_aneg(struct phy_device *phydev);
1461 int phy_aneg_done(struct phy_device *phydev);
1462 int phy_speed_down(struct phy_device *phydev, bool sync);
1463 int phy_speed_up(struct phy_device *phydev);
1465 int phy_restart_aneg(struct phy_device *phydev);
1466 int phy_reset_after_clk_enable(struct phy_device *phydev);
1469 int phy_start_cable_test(struct phy_device *phydev,
1471 int phy_start_cable_test_tdr(struct phy_device *phydev,
1476 int phy_start_cable_test(struct phy_device *phydev, in phy_start_cable_test() argument
1483 int phy_start_cable_test_tdr(struct phy_device *phydev, in phy_start_cable_test_tdr() argument
1492 int phy_cable_test_result(struct phy_device *phydev, u8 pair, u16 result);
1493 int phy_cable_test_fault_length(struct phy_device *phydev, u8 pair,
1496 static inline void phy_device_reset(struct phy_device *phydev, int value) in phy_device_reset() argument
1498 mdio_device_reset(&phydev->mdio, value); in phy_device_reset()
1513 static inline const char *phydev_name(const struct phy_device *phydev) in phydev_name() argument
1515 return dev_name(&phydev->mdio.dev); in phydev_name()
1518 static inline void phy_lock_mdio_bus(struct phy_device *phydev) in phy_lock_mdio_bus() argument
1520 mutex_lock(&phydev->mdio.bus->mdio_lock); in phy_lock_mdio_bus()
1523 static inline void phy_unlock_mdio_bus(struct phy_device *phydev) in phy_unlock_mdio_bus() argument
1525 mutex_unlock(&phydev->mdio.bus->mdio_lock); in phy_unlock_mdio_bus()
1528 void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
1530 char *phy_attached_info_irq(struct phy_device *phydev)
1532 void phy_attached_info(struct phy_device *phydev);
1535 int genphy_read_abilities(struct phy_device *phydev);
1536 int genphy_setup_forced(struct phy_device *phydev);
1537 int genphy_restart_aneg(struct phy_device *phydev);
1538 int genphy_check_and_restart_aneg(struct phy_device *phydev, bool restart);
1539 int genphy_config_eee_advert(struct phy_device *phydev);
1540 int __genphy_config_aneg(struct phy_device *phydev, bool changed);
1541 int genphy_aneg_done(struct phy_device *phydev);
1542 int genphy_update_link(struct phy_device *phydev);
1543 int genphy_read_lpa(struct phy_device *phydev);
1544 int genphy_read_status_fixed(struct phy_device *phydev);
1545 int genphy_read_status(struct phy_device *phydev);
1546 int genphy_suspend(struct phy_device *phydev);
1547 int genphy_resume(struct phy_device *phydev);
1548 int genphy_loopback(struct phy_device *phydev, bool enable);
1549 int genphy_soft_reset(struct phy_device *phydev);
1550 irqreturn_t genphy_handle_interrupt_no_ack(struct phy_device *phydev);
1552 static inline int genphy_config_aneg(struct phy_device *phydev) in genphy_config_aneg() argument
1554 return __genphy_config_aneg(phydev, false); in genphy_config_aneg()
1557 static inline int genphy_no_config_intr(struct phy_device *phydev) in genphy_no_config_intr() argument
1567 int genphy_c37_config_aneg(struct phy_device *phydev);
1568 int genphy_c37_read_status(struct phy_device *phydev);
1571 int genphy_c45_restart_aneg(struct phy_device *phydev);
1572 int genphy_c45_check_and_restart_aneg(struct phy_device *phydev, bool restart);
1573 int genphy_c45_aneg_done(struct phy_device *phydev);
1574 int genphy_c45_read_link(struct phy_device *phydev);
1575 int genphy_c45_read_lpa(struct phy_device *phydev);
1576 int genphy_c45_read_pma(struct phy_device *phydev);
1577 int genphy_c45_pma_setup_forced(struct phy_device *phydev);
1578 int genphy_c45_an_config_aneg(struct phy_device *phydev);
1579 int genphy_c45_an_disable_aneg(struct phy_device *phydev);
1580 int genphy_c45_read_mdix(struct phy_device *phydev);
1581 int genphy_c45_pma_read_abilities(struct phy_device *phydev);
1582 int genphy_c45_read_status(struct phy_device *phydev);
1583 int genphy_c45_config_aneg(struct phy_device *phydev);
1584 int genphy_c45_loopback(struct phy_device *phydev, bool enable);
1585 int genphy_c45_pma_resume(struct phy_device *phydev);
1586 int genphy_c45_pma_suspend(struct phy_device *phydev);
1592 int gen10g_config_aneg(struct phy_device *phydev);
1594 static inline int phy_read_status(struct phy_device *phydev) in phy_read_status() argument
1596 if (!phydev->drv) in phy_read_status()
1599 if (phydev->drv->read_status) in phy_read_status()
1600 return phydev->drv->read_status(phydev); in phy_read_status()
1602 return genphy_read_status(phydev); in phy_read_status()
1610 void phy_error(struct phy_device *phydev);
1612 void phy_queue_state_machine(struct phy_device *phydev, unsigned long jiffies);
1613 void phy_trigger_machine(struct phy_device *phydev);
1614 void phy_mac_interrupt(struct phy_device *phydev);
1615 void phy_start_machine(struct phy_device *phydev);
1616 void phy_stop_machine(struct phy_device *phydev);
1617 void phy_ethtool_ksettings_get(struct phy_device *phydev,
1619 int phy_ethtool_ksettings_set(struct phy_device *phydev,
1621 int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
1624 int phy_disable_interrupts(struct phy_device *phydev);
1625 void phy_request_interrupt(struct phy_device *phydev);
1626 void phy_free_interrupt(struct phy_device *phydev);
1627 void phy_print_status(struct phy_device *phydev);
1628 int phy_set_max_speed(struct phy_device *phydev, u32 max_speed);
1629 void phy_remove_link_mode(struct phy_device *phydev, u32 link_mode);
1630 void phy_advertise_supported(struct phy_device *phydev);
1631 void phy_support_sym_pause(struct phy_device *phydev);
1632 void phy_support_asym_pause(struct phy_device *phydev);
1633 void phy_set_sym_pause(struct phy_device *phydev, bool rx, bool tx,
1635 void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx);
1636 bool phy_validate_pause(struct phy_device *phydev,
1638 void phy_get_pause(struct phy_device *phydev, bool *tx_pause, bool *rx_pause);
1640 s32 phy_get_internal_delay(struct phy_device *phydev, struct device *dev,
1657 int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable);
1658 int phy_get_eee_err(struct phy_device *phydev);
1659 int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data);
1660 int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data);
1661 int phy_ethtool_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol);
1662 void phy_ethtool_get_wol(struct phy_device *phydev,
1669 int phy_package_join(struct phy_device *phydev, int addr, size_t priv_size);
1670 void phy_package_leave(struct phy_device *phydev);
1671 int devm_phy_package_join(struct device *dev, struct phy_device *phydev,
1679 int phy_ethtool_get_strings(struct phy_device *phydev, u8 *data);
1680 int phy_ethtool_get_sset_count(struct phy_device *phydev);
1681 int phy_ethtool_get_stats(struct phy_device *phydev,
1684 static inline int phy_package_read(struct phy_device *phydev, u32 regnum) in phy_package_read() argument
1686 struct phy_package_shared *shared = phydev->shared; in phy_package_read()
1691 return mdiobus_read(phydev->mdio.bus, shared->addr, regnum); in phy_package_read()
1694 static inline int __phy_package_read(struct phy_device *phydev, u32 regnum) in __phy_package_read() argument
1696 struct phy_package_shared *shared = phydev->shared; in __phy_package_read()
1701 return __mdiobus_read(phydev->mdio.bus, shared->addr, regnum); in __phy_package_read()
1704 static inline int phy_package_write(struct phy_device *phydev, in phy_package_write() argument
1707 struct phy_package_shared *shared = phydev->shared; in phy_package_write()
1712 return mdiobus_write(phydev->mdio.bus, shared->addr, regnum, val); in phy_package_write()
1715 static inline int __phy_package_write(struct phy_device *phydev, in __phy_package_write() argument
1718 struct phy_package_shared *shared = phydev->shared; in __phy_package_write()
1723 return __mdiobus_write(phydev->mdio.bus, shared->addr, regnum, val); in __phy_package_write()
1726 static inline bool __phy_package_set_once(struct phy_device *phydev, in __phy_package_set_once() argument
1729 struct phy_package_shared *shared = phydev->shared; in __phy_package_set_once()
1737 static inline bool phy_package_init_once(struct phy_device *phydev) in phy_package_init_once() argument
1739 return __phy_package_set_once(phydev, PHY_SHARED_F_INIT_DONE); in phy_package_init_once()
1742 static inline bool phy_package_probe_once(struct phy_device *phydev) in phy_package_probe_once() argument
1744 return __phy_package_set_once(phydev, PHY_SHARED_F_PROBE_DONE); in phy_package_probe_once()
1792 bool phy_driver_is_genphy(struct phy_device *phydev);
1793 bool phy_driver_is_genphy_10g(struct phy_device *phydev);