Lines Matching full:phydev

74  * Set phydev->irq to PHY_POLL if interrupts are not supported,
268 * Represents a shared structure between different phydev's in the same
642 void (*phy_link_change)(struct phy_device *phydev, bool up);
714 int (*soft_reset)(struct phy_device *phydev);
720 int (*config_init)(struct phy_device *phydev);
726 int (*probe)(struct phy_device *phydev);
730 * abilities it has. Should only set phydev->supported.
732 int (*get_features)(struct phy_device *phydev);
736 int (*suspend)(struct phy_device *phydev);
738 int (*resume)(struct phy_device *phydev);
742 * autonegotiation if phydev->autoneg is on,
743 * forces the speed to the current settings in phydev
744 * if phydev->autoneg is off
746 int (*config_aneg)(struct phy_device *phydev);
749 int (*aneg_done)(struct phy_device *phydev);
752 int (*read_status)(struct phy_device *phydev);
755 int (*ack_interrupt)(struct phy_device *phydev);
758 int (*config_intr)(struct phy_device *phydev);
765 int (*did_interrupt)(struct phy_device *phydev);
768 irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
771 void (*remove)(struct phy_device *phydev);
775 * driver for the given phydev. If NULL, matching is based on
778 int (*match_phy_device)(struct phy_device *phydev);
904 int (*run)(struct phy_device *phydev);
924 void of_set_phy_supported(struct phy_device *phydev);
925 void of_set_phy_eee_broken(struct phy_device *phydev);
926 int phy_speed_down_core(struct phy_device *phydev);
930 * @phydev: The phy_device struct
932 static inline bool phy_is_started(struct phy_device *phydev) in phy_is_started() argument
934 return phydev->state >= PHY_UP; in phy_is_started()
937 void phy_resolve_aneg_pause(struct phy_device *phydev);
938 void phy_resolve_aneg_linkmode(struct phy_device *phydev);
939 void phy_check_downshift(struct phy_device *phydev);
943 * @phydev: the phy_device struct
950 static inline int phy_read(struct phy_device *phydev, u32 regnum) in phy_read() argument
952 return mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, regnum); in phy_read()
955 #define phy_read_poll_timeout(phydev, regnum, val, cond, sleep_us, \ argument
959 sleep_us, timeout_us, sleep_before_read, phydev, regnum); \
963 phydev_err(phydev, "%s failed: %d\n", __func__, __ret); \
970 * @phydev: the phy_device struct
975 static inline int __phy_read(struct phy_device *phydev, u32 regnum) in __phy_read() argument
977 return __mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, regnum); in __phy_read()
982 * @phydev: the phy_device struct
990 static inline int phy_write(struct phy_device *phydev, u32 regnum, u16 val) in phy_write() argument
992 return mdiobus_write(phydev->mdio.bus, phydev->mdio.addr, regnum, val); in phy_write()
997 * @phydev: the phy_device struct
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, in __phy_write()
1011 * @phydev: a pointer to a &struct phy_device
1021 static inline int __phy_modify_changed(struct phy_device *phydev, u32 regnum, in __phy_modify_changed() argument
1024 return __mdiobus_modify_changed(phydev->mdio.bus, phydev->mdio.addr, in __phy_modify_changed()
1032 int phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum);
1038 * @phydev: The phy_device struct
1052 #define phy_read_mmd_poll_timeout(phydev, devaddr, regnum, val, cond, \ argument
1057 phydev, devaddr, regnum); \
1061 phydev_err(phydev, "%s failed: %d\n", __func__, __ret); \
1069 int __phy_read_mmd(struct phy_device *phydev, int devad, u32 regnum);
1075 int phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
1081 int __phy_write_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
1083 int __phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask,
1085 int phy_modify_changed(struct phy_device *phydev, u32 regnum, u16 mask,
1087 int __phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
1088 int phy_modify(struct phy_device *phydev, u32 regnum, u16 mask, u16 set);
1090 int __phy_modify_mmd_changed(struct phy_device *phydev, int devad, u32 regnum,
1092 int phy_modify_mmd_changed(struct phy_device *phydev, int devad, u32 regnum,
1094 int __phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
1096 int phy_modify_mmd(struct phy_device *phydev, int devad, u32 regnum,
1101 * @phydev: the phy_device struct
1107 static inline int __phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val) in __phy_set_bits() argument
1109 return __phy_modify(phydev, regnum, 0, val); in __phy_set_bits()
1114 * @phydev: the phy_device struct
1120 static inline int __phy_clear_bits(struct phy_device *phydev, u32 regnum, in __phy_clear_bits() argument
1123 return __phy_modify(phydev, regnum, val, 0); in __phy_clear_bits()
1128 * @phydev: the phy_device struct
1132 static inline int phy_set_bits(struct phy_device *phydev, u32 regnum, u16 val) in phy_set_bits() argument
1134 return phy_modify(phydev, regnum, 0, val); in phy_set_bits()
1139 * @phydev: the phy_device struct
1143 static inline int phy_clear_bits(struct phy_device *phydev, u32 regnum, u16 val) in phy_clear_bits() argument
1145 return phy_modify(phydev, regnum, val, 0); in phy_clear_bits()
1151 * @phydev: the phy_device struct
1158 static inline int __phy_set_bits_mmd(struct phy_device *phydev, int devad, in __phy_set_bits_mmd() argument
1161 return __phy_modify_mmd(phydev, devad, regnum, 0, val); in __phy_set_bits_mmd()
1167 * @phydev: the phy_device struct
1174 static inline int __phy_clear_bits_mmd(struct phy_device *phydev, int devad, in __phy_clear_bits_mmd() argument
1177 return __phy_modify_mmd(phydev, devad, regnum, val, 0); in __phy_clear_bits_mmd()
1183 * @phydev: the phy_device struct
1188 static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad, in phy_set_bits_mmd() argument
1191 return phy_modify_mmd(phydev, devad, regnum, 0, val); in phy_set_bits_mmd()
1197 * @phydev: the phy_device struct
1202 static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad, in phy_clear_bits_mmd() argument
1205 return phy_modify_mmd(phydev, devad, regnum, val, 0); in phy_clear_bits_mmd()
1210 * @phydev: the phy_device struct
1215 static inline bool phy_interrupt_is_valid(struct phy_device *phydev) in phy_interrupt_is_valid() argument
1217 return phydev->irq != PHY_POLL && phydev->irq != PHY_IGNORE_INTERRUPT; in phy_interrupt_is_valid()
1223 * @phydev: the phy_device struct
1225 static inline bool phy_polling_mode(struct phy_device *phydev) in phy_polling_mode() argument
1227 if (phydev->state == PHY_CABLETEST) in phy_polling_mode()
1228 if (phydev->drv->flags & PHY_POLL_CABLE_TEST) in phy_polling_mode()
1231 return phydev->irq == PHY_POLL; in phy_polling_mode()
1236 * @phydev: the phy_device struct
1238 static inline bool phy_has_hwtstamp(struct phy_device *phydev) in phy_has_hwtstamp() argument
1240 return phydev && phydev->mii_ts && phydev->mii_ts->hwtstamp; in phy_has_hwtstamp()
1245 * @phydev: the phy_device struct
1247 static inline bool phy_has_rxtstamp(struct phy_device *phydev) in phy_has_rxtstamp() argument
1249 return phydev && phydev->mii_ts && phydev->mii_ts->rxtstamp; in phy_has_rxtstamp()
1255 * @phydev: the phy_device struct
1257 static inline bool phy_has_tsinfo(struct phy_device *phydev) in phy_has_tsinfo() argument
1259 return phydev && phydev->mii_ts && phydev->mii_ts->ts_info; in phy_has_tsinfo()
1264 * @phydev: the phy_device struct
1266 static inline bool phy_has_txtstamp(struct phy_device *phydev) in phy_has_txtstamp() argument
1268 return phydev && phydev->mii_ts && phydev->mii_ts->txtstamp; in phy_has_txtstamp()
1271 static inline int phy_hwtstamp(struct phy_device *phydev, struct ifreq *ifr) in phy_hwtstamp() argument
1273 return phydev->mii_ts->hwtstamp(phydev->mii_ts, ifr); in phy_hwtstamp()
1276 static inline bool phy_rxtstamp(struct phy_device *phydev, struct sk_buff *skb, in phy_rxtstamp() argument
1279 return phydev->mii_ts->rxtstamp(phydev->mii_ts, skb, type); in phy_rxtstamp()
1282 static inline int phy_ts_info(struct phy_device *phydev, in phy_ts_info() argument
1285 return phydev->mii_ts->ts_info(phydev->mii_ts, tsinfo); in phy_ts_info()
1288 static inline void phy_txtstamp(struct phy_device *phydev, struct sk_buff *skb, in phy_txtstamp() argument
1291 phydev->mii_ts->txtstamp(phydev->mii_ts, skb, type); in phy_txtstamp()
1296 * @phydev: the phy_device struct
1298 static inline bool phy_is_internal(struct phy_device *phydev) in phy_is_internal() argument
1300 return phydev->is_internal; in phy_is_internal()
1331 * @phydev: the phy_device struct
1333 static inline bool phy_interface_is_rgmii(struct phy_device *phydev) in phy_interface_is_rgmii() argument
1335 return phy_interface_mode_is_rgmii(phydev->interface); in phy_interface_is_rgmii()
1341 * @phydev: the phy_device struct
1343 static inline bool phy_is_pseudo_fixed_link(struct phy_device *phydev) in phy_is_pseudo_fixed_link() argument
1345 return phydev->is_pseudo_fixed_link; in phy_is_pseudo_fixed_link()
1348 int phy_save_page(struct phy_device *phydev);
1349 int phy_select_page(struct phy_device *phydev, int page);
1350 int phy_restore_page(struct phy_device *phydev, int oldpage, int ret);
1351 int phy_read_paged(struct phy_device *phydev, int page, u32 regnum);
1352 int phy_write_paged(struct phy_device *phydev, int page, u32 regnum, u16 val);
1353 int phy_modify_paged_changed(struct phy_device *phydev, int page, u32 regnum,
1355 int phy_modify_paged(struct phy_device *phydev, int page, u32 regnum,
1364 void phy_device_free(struct phy_device *phydev);
1377 static inline void phy_device_free(struct phy_device *phydev) { } in phy_device_free() argument
1379 void phy_device_remove(struct phy_device *phydev);
1380 int phy_init_hw(struct phy_device *phydev);
1381 int phy_suspend(struct phy_device *phydev);
1382 int phy_resume(struct phy_device *phydev);
1383 int __phy_resume(struct phy_device *phydev);
1384 int phy_loopback(struct phy_device *phydev, bool enable);
1387 int phy_sfp_probe(struct phy_device *phydev,
1392 int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
1394 int phy_connect_direct(struct net_device *dev, struct phy_device *phydev,
1400 void phy_disconnect(struct phy_device *phydev);
1401 void phy_detach(struct phy_device *phydev);
1402 void phy_start(struct phy_device *phydev);
1403 void phy_stop(struct phy_device *phydev);
1404 int phy_start_aneg(struct phy_device *phydev);
1405 int phy_aneg_done(struct phy_device *phydev);
1406 int phy_speed_down(struct phy_device *phydev, bool sync);
1407 int phy_speed_up(struct phy_device *phydev);
1409 int phy_restart_aneg(struct phy_device *phydev);
1410 int phy_reset_after_clk_enable(struct phy_device *phydev);
1413 int phy_start_cable_test(struct phy_device *phydev,
1415 int phy_start_cable_test_tdr(struct phy_device *phydev,
1420 int phy_start_cable_test(struct phy_device *phydev, in phy_start_cable_test() argument
1427 int phy_start_cable_test_tdr(struct phy_device *phydev, in phy_start_cable_test_tdr() argument
1436 int phy_cable_test_result(struct phy_device *phydev, u8 pair, u16 result);
1437 int phy_cable_test_fault_length(struct phy_device *phydev, u8 pair,
1440 static inline void phy_device_reset(struct phy_device *phydev, int value) in phy_device_reset() argument
1442 mdio_device_reset(&phydev->mdio, value); in phy_device_reset()
1457 static inline const char *phydev_name(const struct phy_device *phydev) in phydev_name() argument
1459 return dev_name(&phydev->mdio.dev); in phydev_name()
1462 static inline void phy_lock_mdio_bus(struct phy_device *phydev) in phy_lock_mdio_bus() argument
1464 mutex_lock(&phydev->mdio.bus->mdio_lock); in phy_lock_mdio_bus()
1467 static inline void phy_unlock_mdio_bus(struct phy_device *phydev) in phy_unlock_mdio_bus() argument
1469 mutex_unlock(&phydev->mdio.bus->mdio_lock); in phy_unlock_mdio_bus()
1472 void phy_attached_print(struct phy_device *phydev, const char *fmt, ...)
1474 char *phy_attached_info_irq(struct phy_device *phydev)
1476 void phy_attached_info(struct phy_device *phydev);
1479 int genphy_read_abilities(struct phy_device *phydev);
1480 int genphy_setup_forced(struct phy_device *phydev);
1481 int genphy_restart_aneg(struct phy_device *phydev);
1482 int genphy_check_and_restart_aneg(struct phy_device *phydev, bool restart);
1483 int genphy_config_eee_advert(struct phy_device *phydev);
1484 int __genphy_config_aneg(struct phy_device *phydev, bool changed);
1485 int genphy_aneg_done(struct phy_device *phydev);
1486 int genphy_update_link(struct phy_device *phydev);
1487 int genphy_read_lpa(struct phy_device *phydev);
1488 int genphy_read_status_fixed(struct phy_device *phydev);
1489 int genphy_read_status(struct phy_device *phydev);
1490 int genphy_suspend(struct phy_device *phydev);
1491 int genphy_resume(struct phy_device *phydev);
1492 int genphy_loopback(struct phy_device *phydev, bool enable);
1493 int genphy_soft_reset(struct phy_device *phydev);
1495 static inline int genphy_config_aneg(struct phy_device *phydev) in genphy_config_aneg() argument
1497 return __genphy_config_aneg(phydev, false); in genphy_config_aneg()
1500 static inline int genphy_no_ack_interrupt(struct phy_device *phydev) in genphy_no_ack_interrupt() argument
1504 static inline int genphy_no_config_intr(struct phy_device *phydev) in genphy_no_config_intr() argument
1514 int genphy_c37_config_aneg(struct phy_device *phydev);
1515 int genphy_c37_read_status(struct phy_device *phydev);
1518 int genphy_c45_restart_aneg(struct phy_device *phydev);
1519 int genphy_c45_check_and_restart_aneg(struct phy_device *phydev, bool restart);
1520 int genphy_c45_aneg_done(struct phy_device *phydev);
1521 int genphy_c45_read_link(struct phy_device *phydev);
1522 int genphy_c45_read_lpa(struct phy_device *phydev);
1523 int genphy_c45_read_pma(struct phy_device *phydev);
1524 int genphy_c45_pma_setup_forced(struct phy_device *phydev);
1525 int genphy_c45_an_config_aneg(struct phy_device *phydev);
1526 int genphy_c45_an_disable_aneg(struct phy_device *phydev);
1527 int genphy_c45_read_mdix(struct phy_device *phydev);
1528 int genphy_c45_pma_read_abilities(struct phy_device *phydev);
1529 int genphy_c45_read_status(struct phy_device *phydev);
1530 int genphy_c45_config_aneg(struct phy_device *phydev);
1536 int gen10g_config_aneg(struct phy_device *phydev);
1538 static inline int phy_read_status(struct phy_device *phydev) in phy_read_status() argument
1540 if (!phydev->drv) in phy_read_status()
1543 if (phydev->drv->read_status) in phy_read_status()
1544 return phydev->drv->read_status(phydev); in phy_read_status()
1546 return genphy_read_status(phydev); in phy_read_status()
1555 void phy_queue_state_machine(struct phy_device *phydev, unsigned long jiffies);
1556 void phy_mac_interrupt(struct phy_device *phydev);
1557 void phy_start_machine(struct phy_device *phydev);
1558 void phy_stop_machine(struct phy_device *phydev);
1559 void phy_ethtool_ksettings_get(struct phy_device *phydev,
1561 int phy_ethtool_ksettings_set(struct phy_device *phydev,
1563 int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
1566 int phy_disable_interrupts(struct phy_device *phydev);
1567 void phy_request_interrupt(struct phy_device *phydev);
1568 void phy_free_interrupt(struct phy_device *phydev);
1569 void phy_print_status(struct phy_device *phydev);
1570 int phy_set_max_speed(struct phy_device *phydev, u32 max_speed);
1571 void phy_remove_link_mode(struct phy_device *phydev, u32 link_mode);
1572 void phy_advertise_supported(struct phy_device *phydev);
1573 void phy_support_sym_pause(struct phy_device *phydev);
1574 void phy_support_asym_pause(struct phy_device *phydev);
1575 void phy_set_sym_pause(struct phy_device *phydev, bool rx, bool tx,
1577 void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx);
1578 bool phy_validate_pause(struct phy_device *phydev,
1580 void phy_get_pause(struct phy_device *phydev, bool *tx_pause, bool *rx_pause);
1582 s32 phy_get_internal_delay(struct phy_device *phydev, struct device *dev,
1599 int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable);
1600 int phy_get_eee_err(struct phy_device *phydev);
1601 int phy_ethtool_set_eee(struct phy_device *phydev, struct ethtool_eee *data);
1602 int phy_ethtool_get_eee(struct phy_device *phydev, struct ethtool_eee *data);
1603 int phy_ethtool_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol);
1604 void phy_ethtool_get_wol(struct phy_device *phydev,
1611 int phy_package_join(struct phy_device *phydev, int addr, size_t priv_size);
1612 void phy_package_leave(struct phy_device *phydev);
1613 int devm_phy_package_join(struct device *dev, struct phy_device *phydev,
1621 int phy_ethtool_get_strings(struct phy_device *phydev, u8 *data);
1622 int phy_ethtool_get_sset_count(struct phy_device *phydev);
1623 int phy_ethtool_get_stats(struct phy_device *phydev,
1626 static inline int phy_package_read(struct phy_device *phydev, u32 regnum) in phy_package_read() argument
1628 struct phy_package_shared *shared = phydev->shared; in phy_package_read()
1633 return mdiobus_read(phydev->mdio.bus, shared->addr, regnum); in phy_package_read()
1636 static inline int __phy_package_read(struct phy_device *phydev, u32 regnum) in __phy_package_read() argument
1638 struct phy_package_shared *shared = phydev->shared; in __phy_package_read()
1643 return __mdiobus_read(phydev->mdio.bus, shared->addr, regnum); in __phy_package_read()
1646 static inline int phy_package_write(struct phy_device *phydev, in phy_package_write() argument
1649 struct phy_package_shared *shared = phydev->shared; in phy_package_write()
1654 return mdiobus_write(phydev->mdio.bus, shared->addr, regnum, val); in phy_package_write()
1657 static inline int __phy_package_write(struct phy_device *phydev, in __phy_package_write() argument
1660 struct phy_package_shared *shared = phydev->shared; in __phy_package_write()
1665 return __mdiobus_write(phydev->mdio.bus, shared->addr, regnum, val); in __phy_package_write()
1668 static inline bool __phy_package_set_once(struct phy_device *phydev, in __phy_package_set_once() argument
1671 struct phy_package_shared *shared = phydev->shared; in __phy_package_set_once()
1679 static inline bool phy_package_init_once(struct phy_device *phydev) in phy_package_init_once() argument
1681 return __phy_package_set_once(phydev, PHY_SHARED_F_INIT_DONE); in phy_package_init_once()
1684 static inline bool phy_package_probe_once(struct phy_device *phydev) in phy_package_probe_once() argument
1686 return __phy_package_set_once(phydev, PHY_SHARED_F_PROBE_DONE); in phy_package_probe_once()
1734 bool phy_driver_is_genphy(struct phy_device *phydev);
1735 bool phy_driver_is_genphy_10g(struct phy_device *phydev);