hc
2024-09-20 a36159eec6ca17402b0e146b86efaf76568dc353
kernel/drivers/net/phy/bcm63xx.c
....@@ -1,10 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0+
12 /*
23 * Driver for Broadcom 63xx SOCs integrated PHYs
3
- *
4
- * This program is free software; you can redistribute it and/or
5
- * modify it under the terms of the GNU General Public License
6
- * as published by the Free Software Foundation; either version
7
- * 2 of the License, or (at your option) any later version.
84 */
95 #include "bcm-phy-lib.h"
106 #include <linux/module.h>
....@@ -42,6 +38,9 @@
4238 {
4339 int reg, err;
4440
41
+ /* ASYM_PAUSE bit is marked RO in datasheet, so don't cheat */
42
+ linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT, phydev->supported);
43
+
4544 reg = phy_read(phydev, MII_BCM63XX_IR);
4645 if (reg < 0)
4746 return reg;
....@@ -65,9 +64,8 @@
6564 .phy_id = 0x00406000,
6665 .phy_id_mask = 0xfffffc00,
6766 .name = "Broadcom BCM63XX (1)",
68
- /* ASYM_PAUSE bit is marked RO in datasheet, so don't cheat */
69
- .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause),
70
- .flags = PHY_HAS_INTERRUPT | PHY_IS_INTERNAL,
67
+ /* PHY_BASIC_FEATURES */
68
+ .flags = PHY_IS_INTERNAL,
7169 .config_init = bcm63xx_config_init,
7270 .ack_interrupt = bcm_phy_ack_intr,
7371 .config_intr = bcm63xx_config_intr,
....@@ -76,8 +74,8 @@
7674 .phy_id = 0x002bdc00,
7775 .phy_id_mask = 0xfffffc00,
7876 .name = "Broadcom BCM63XX (2)",
79
- .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause),
80
- .flags = PHY_HAS_INTERRUPT | PHY_IS_INTERNAL,
77
+ /* PHY_BASIC_FEATURES */
78
+ .flags = PHY_IS_INTERNAL,
8179 .config_init = bcm63xx_config_init,
8280 .ack_interrupt = bcm_phy_ack_intr,
8381 .config_intr = bcm63xx_config_intr,