net: stmmac: replace the serdes_up_after_phy_linkup field with a flag
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
68861a3bcc
commit
efe92571bf
@@ -337,7 +337,7 @@ static int tegra_mgbe_probe(struct platform_device *pdev)
|
|||||||
/* Program SID */
|
/* Program SID */
|
||||||
writel(MGBE_SID, mgbe->hv + MGBE_WRAP_AXI_ASID0_CTRL);
|
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);
|
err = stmmac_dvr_probe(&pdev->dev, plat, &res);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
|
|||||||
@@ -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));
|
struct stmmac_priv *priv = netdev_priv(to_net_dev(config->dev));
|
||||||
u32 old_ctrl, ctrl;
|
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);
|
priv->plat->serdes_powerup(priv->dev, priv->plat->bsp_priv);
|
||||||
|
|
||||||
old_ctrl = readl(priv->ioaddr + MAC_CTRL_REG);
|
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);
|
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);
|
ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
netdev_err(priv->dev, "%s: Serdes powerup failed\n",
|
netdev_err(priv->dev, "%s: Serdes powerup failed\n",
|
||||||
@@ -7623,7 +7625,8 @@ int stmmac_resume(struct device *dev)
|
|||||||
stmmac_mdio_reset(priv->mii);
|
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,
|
ret = priv->plat->serdes_powerup(ndev,
|
||||||
priv->plat->bsp_priv);
|
priv->plat->bsp_priv);
|
||||||
|
|
||||||
|
|||||||
@@ -209,6 +209,7 @@ struct dwmac4_addrs {
|
|||||||
#define STMMAC_FLAG_USE_PHY_WOL BIT(2)
|
#define STMMAC_FLAG_USE_PHY_WOL BIT(2)
|
||||||
#define STMMAC_FLAG_HAS_SUN8I BIT(3)
|
#define STMMAC_FLAG_HAS_SUN8I BIT(3)
|
||||||
#define STMMAC_FLAG_TSO_EN BIT(4)
|
#define STMMAC_FLAG_TSO_EN BIT(4)
|
||||||
|
#define STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP BIT(5)
|
||||||
|
|
||||||
struct plat_stmmacenet_data {
|
struct plat_stmmacenet_data {
|
||||||
int bus_id;
|
int bus_id;
|
||||||
@@ -293,7 +294,6 @@ struct plat_stmmacenet_data {
|
|||||||
int msi_sfty_ue_vec;
|
int msi_sfty_ue_vec;
|
||||||
int msi_rx_base_vec;
|
int msi_rx_base_vec;
|
||||||
int msi_tx_base_vec;
|
int msi_tx_base_vec;
|
||||||
bool serdes_up_after_phy_linkup;
|
|
||||||
const struct dwmac4_addrs *dwmac4_addrs;
|
const struct dwmac4_addrs *dwmac4_addrs;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user