net: stmmac: replace the serdes_up_after_phy_linkup field with a flag
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 10 Jul 2023 08:59:55 +0000 (10:59 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 14 Jul 2023 03:57:14 +0000 (20:57 -0700)
Drop the boolean field of the plat_stmmacenet_data structure in favor of a
simple bitfield flag.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Link: https://lore.kernel.org/r/20230710090001.303225-7-brgl@bgdev.pl
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
include/linux/stmmac.h

index 5e8aa03..99e2e5a 100644 (file)
@@ -337,7 +337,7 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
        /* Program SID */
        writel(MGBE_SID, mgbe->hv + MGBE_WRAP_AXI_ASID0_CTRL);
 
-       plat->serdes_up_after_phy_linkup = 1;
+       plat->flags |= STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP;
 
        err = stmmac_dvr_probe(&pdev->dev, plat, &res);
        if (err < 0)
index 73002ed..d444514 100644 (file)
@@ -991,7 +991,8 @@ static void stmmac_mac_link_up(struct phylink_config *config,
        struct stmmac_priv *priv = netdev_priv(to_net_dev(config->dev));
        u32 old_ctrl, ctrl;
 
-       if (priv->plat->serdes_up_after_phy_linkup && priv->plat->serdes_powerup)
+       if ((priv->plat->flags & STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP) &&
+           priv->plat->serdes_powerup)
                priv->plat->serdes_powerup(priv->dev, priv->plat->bsp_priv);
 
        old_ctrl = readl(priv->ioaddr + MAC_CTRL_REG);
@@ -3838,7 +3839,8 @@ static int __stmmac_open(struct net_device *dev,
 
        stmmac_reset_queues_param(priv);
 
-       if (!priv->plat->serdes_up_after_phy_linkup && priv->plat->serdes_powerup) {
+       if (!(priv->plat->flags & STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP) &&
+           priv->plat->serdes_powerup) {
                ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv);
                if (ret < 0) {
                        netdev_err(priv->dev, "%s: Serdes powerup failed\n",
@@ -7623,7 +7625,8 @@ int stmmac_resume(struct device *dev)
                        stmmac_mdio_reset(priv->mii);
        }
 
-       if (!priv->plat->serdes_up_after_phy_linkup && priv->plat->serdes_powerup) {
+       if (!(priv->plat->flags & STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP) &&
+           priv->plat->serdes_powerup) {
                ret = priv->plat->serdes_powerup(ndev,
                                                 priv->plat->bsp_priv);
 
index 47ae29a..aeb3e75 100644 (file)
@@ -209,6 +209,7 @@ struct dwmac4_addrs {
 #define STMMAC_FLAG_USE_PHY_WOL                        BIT(2)
 #define STMMAC_FLAG_HAS_SUN8I                  BIT(3)
 #define STMMAC_FLAG_TSO_EN                     BIT(4)
+#define STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP BIT(5)
 
 struct plat_stmmacenet_data {
        int bus_id;
@@ -293,7 +294,6 @@ struct plat_stmmacenet_data {
        int msi_sfty_ue_vec;
        int msi_rx_base_vec;
        int msi_tx_base_vec;
-       bool serdes_up_after_phy_linkup;
        const struct dwmac4_addrs *dwmac4_addrs;
        unsigned int flags;
 };