Lines Matching +full:twisted +full:- +full:pair
1 // SPDX-License-Identifier: GPL-2.0
64 if (wol->wolopts & WAKE_MAGIC) { in at803x_set_wol()
65 struct net_device *ndev = phydev->attached_dev; in at803x_set_wol()
75 return -ENODEV; in at803x_set_wol()
77 mac = (const u8 *)ndev->dev_addr; in at803x_set_wol()
80 return -EINVAL; in at803x_set_wol()
128 if (wol->wolopts & WAKE_MAGIC) in at8031_set_wol()
148 wol->supported = WAKE_MAGIC; in at803x_get_wol()
149 wol->wolopts = 0; in at803x_get_wol()
156 wol->wolopts |= WAKE_MAGIC; in at803x_get_wol()
177 if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { in at803x_config_intr()
235 /* Read the AT8035 PHY-Specific Status register, which indicates the in at803x_read_specific_status()
255 phydev->speed = SPEED_10; in at803x_read_specific_status()
258 phydev->speed = SPEED_100; in at803x_read_specific_status()
261 phydev->speed = SPEED_1000; in at803x_read_specific_status()
264 phydev->speed = SPEED_2500; in at803x_read_specific_status()
268 phydev->duplex = DUPLEX_FULL; in at803x_read_specific_status()
270 phydev->duplex = DUPLEX_HALF; in at803x_read_specific_status()
273 phydev->mdix = ETH_TP_MDI_X; in at803x_read_specific_status()
275 phydev->mdix = ETH_TP_MDI; in at803x_read_specific_status()
279 phydev->mdix_ctrl = ETH_TP_MDI; in at803x_read_specific_status()
282 phydev->mdix_ctrl = ETH_TP_MDI_X; in at803x_read_specific_status()
285 phydev->mdix_ctrl = ETH_TP_MDI_AUTO; in at803x_read_specific_status()
322 ret = at803x_config_mdix(phydev, phydev->mdix_ctrl); in at803x_prepare_config_aneg()
343 int err, old_link = phydev->link; in at803x_read_status()
351 if (phydev->autoneg == AUTONEG_ENABLE && old_link && phydev->link) in at803x_read_status()
354 phydev->speed = SPEED_UNKNOWN; in at803x_read_status()
355 phydev->duplex = DUPLEX_UNKNOWN; in at803x_read_status()
356 phydev->pause = 0; in at803x_read_status()
357 phydev->asym_pause = 0; in at803x_read_status()
369 if (phydev->autoneg == AUTONEG_ENABLE && phydev->autoneg_complete) in at803x_read_status()
404 FIELD_PREP(AT803X_SMART_SPEED_RETRY_LIMIT_MASK, cnt - 2); in at803x_set_downshift()
413 return -EINVAL; in at803x_set_downshift()
431 switch (tuna->id) { in at803x_get_tunable()
435 return -EOPNOTSUPP; in at803x_get_tunable()
443 switch (tuna->id) { in at803x_set_tunable()
447 return -EOPNOTSUPP; in at803x_set_tunable()
462 * the twisted pair cable, 125MHz the counter frequency and in at803x_cdt_fault_length()
538 static int qca808x_cdt_fault_length(struct phy_device *phydev, int pair, in qca808x_cdt_fault_length() argument
544 switch (pair) { in qca808x_cdt_fault_length()
558 return -EINVAL; in qca808x_cdt_fault_length()
573 static int qca808x_cable_test_get_pair_status(struct phy_device *phydev, u8 pair, in qca808x_cable_test_get_pair_status() argument
579 switch (pair) { in qca808x_cable_test_get_pair_status()
593 return -EINVAL; in qca808x_cable_test_get_pair_status()
597 ethnl_cable_test_result(phydev, pair, result); in qca808x_cable_test_get_pair_status()
600 length = qca808x_cdt_fault_length(phydev, pair, result); in qca808x_cable_test_get_pair_status()
601 ethnl_cable_test_fault_length(phydev, pair, length); in qca808x_cable_test_get_pair_status()
704 * accurate counter recording. The hardware supports a 32-bit counter,
706 * implementation of a 64-bit software counter
722 /* PHY 32-bit counter for RX packets. */ in qcom_phy_update_stats()
734 hw_stats->rx_pkts += cnt; in qcom_phy_update_stats()
736 /* PHY 16-bit counter for RX CRC error packets. */ in qcom_phy_update_stats()
741 hw_stats->rx_err_pkts += ret; in qcom_phy_update_stats()
743 /* PHY 32-bit counter for TX packets. */ in qcom_phy_update_stats()
755 hw_stats->tx_pkts += cnt; in qcom_phy_update_stats()
757 /* PHY 16-bit counter for TX CRC error packets. */ in qcom_phy_update_stats()
762 hw_stats->tx_err_pkts += ret; in qcom_phy_update_stats()
771 stats->tx_packets = hw_stats.tx_pkts; in qcom_phy_get_stats()
772 stats->tx_errors = hw_stats.tx_err_pkts; in qcom_phy_get_stats()
773 stats->rx_packets = hw_stats.rx_pkts; in qcom_phy_get_stats()
774 stats->rx_errors = hw_stats.rx_err_pkts; in qcom_phy_get_stats()