]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: loongson1: use stmmac_get_phy_intf_sel()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 11 Nov 2025 08:11:57 +0000 (08:11 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 13 Nov 2025 02:13:41 +0000 (18:13 -0800)
Use stmmac_get_phy_intf_sel() to decode the PHY interface mode to the
phy_intf_sel value, validate the result and use that to set the
control register to select the operating mode for the DWMAC core.

Note that this will allow GMII as well as MII as the phy_intf_sel
value is the same for both.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/E1vIjTp-0000000DqtC-2DmI@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-loongson1.c

index 5f9f66fbc191771c47ac5646bb71da4132ac3b72..894ee66f5c9bc1b27a9c03521672f87f46b1bec7 100644 (file)
@@ -140,14 +140,9 @@ static int ls1c_dwmac_syscon_init(struct platform_device *pdev, void *priv)
        struct regmap *regmap = dwmac->regmap;
        int phy_intf_sel;
 
-       switch (plat->phy_interface) {
-       case PHY_INTERFACE_MODE_MII:
-               phy_intf_sel = PHY_INTF_SEL_GMII_MII;
-               break;
-       case PHY_INTERFACE_MODE_RMII:
-               phy_intf_sel = PHY_INTF_SEL_RMII;
-               break;
-       default:
+       phy_intf_sel = stmmac_get_phy_intf_sel(plat->phy_interface);
+       if (phy_intf_sel != PHY_INTF_SEL_GMII_MII &&
+           phy_intf_sel != PHY_INTF_SEL_RMII) {
                dev_err(&pdev->dev, "Unsupported PHY-mode %u\n",
                        plat->phy_interface);
                return -EOPNOTSUPP;