]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: 6.12: add mac capabilities to rtl83xx_phylink_get_caps()
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Tue, 27 May 2025 19:13:07 +0000 (15:13 -0400)
committerRobert Marko <robimarko@gmail.com>
Wed, 11 Jun 2025 20:27:22 +0000 (22:27 +0200)
Not only the link but also the mac capabilities are needed here.
Additionally do some alphabetical sorting.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18935
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/dsa.c

index 0a542624ed7c72dc04550bb972cb07a6bc338dc3..361c2b26ba284ef3d577933449ff483cffbbb413 100644 (file)
@@ -683,17 +683,21 @@ static void rtl83xx_config_interface(int port, phy_interface_t interface)
 static void rtl83xx_phylink_get_caps(struct dsa_switch *ds, int port,
                                     struct phylink_config *config)
 {
-/*
- * This capability check will need some love. Depending on the model and the port
- * different link modes are supported. For now just enable all required values
- * so that we can make use of the ports.
- */
-       __set_bit(PHY_INTERFACE_MODE_INTERNAL, config->supported_interfaces);
+       /*
+        * TODO: This capability check will need some love. Depending on the model and the
+        * port different MAC features and link modes are supported. For now just enable all
+        * required MAC and PHY capabilites so that we can make use of the ports.
+        */
+
+       config->mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE | MAC_10 | MAC_100 |
+                                  MAC_1000FD | MAC_2500FD | MAC_5000FD | MAC_10000FD;
+
        __set_bit(PHY_INTERFACE_MODE_GMII, config->supported_interfaces);
+       __set_bit(PHY_INTERFACE_MODE_INTERNAL, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_QSGMII, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_SGMII, config->supported_interfaces);
-       __set_bit(PHY_INTERFACE_MODE_XGMII, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_USXGMII, config->supported_interfaces);
+       __set_bit(PHY_INTERFACE_MODE_XGMII, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_1000BASEX, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_10GBASER, config->supported_interfaces);
 }