]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: move default_an_inband to plat_stmmacenet_data
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 18 Mar 2026 16:06:11 +0000 (16:06 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 24 Mar 2026 00:32:18 +0000 (17:32 -0700)
Move the default_an_inband flag from struct mdio_bus_data to struct
plat_stmmacenet_data. This is to allow platforms that do not use the
integrated MDIO bus to enable inband mode.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1w2tPP-0000000DYAX-0TKw@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
include/linux/stmmac.h

index f621077c30a406ce9fda9fa14ddba34b7b8a49b5..7898b5075a8b1e186c5057fe87a0c433aae0b8c6 100644 (file)
@@ -298,7 +298,7 @@ static void tgl_get_interfaces(struct stmmac_priv *priv, void *bsp_priv,
 
        if (FIELD_GET(SERDES_LINK_MODE_MASK, data) == SERDES_LINK_MODE_2G5) {
                dev_info(priv->device, "Link Speed Mode: 2.5Gbps\n");
-               priv->plat->mdio_bus_data->default_an_inband = false;
+               priv->plat->default_an_inband = false;
                interface = PHY_INTERFACE_MODE_2500BASEX;
        } else {
                interface = PHY_INTERFACE_MODE_SGMII;
@@ -700,7 +700,7 @@ static int intel_mgbe_common_data(struct pci_dev *pdev,
        if (plat->phy_interface == PHY_INTERFACE_MODE_SGMII ||
            plat->phy_interface == PHY_INTERFACE_MODE_1000BASEX) {
                plat->mdio_bus_data->pcs_mask = BIT_U32(INTEL_MGBE_XPCS_ADDR);
-               plat->mdio_bus_data->default_an_inband = true;
+               plat->default_an_inband = true;
                plat->select_pcs = intel_mgbe_select_pcs;
        }
 
index 5062537f79e9c054892369f788f0c43c921bf690..bd0f5d487e0fbc942d7ae0557af83f7b6b216b88 100644 (file)
@@ -1390,7 +1390,6 @@ static int stmmac_init_phy(struct net_device *dev)
 
 static int stmmac_phylink_setup(struct stmmac_priv *priv)
 {
-       struct stmmac_mdio_bus_data *mdio_bus_data;
        struct phylink_config *config;
        struct phylink_pcs *pcs;
        struct phylink *phylink;
@@ -1415,9 +1414,7 @@ static int stmmac_phylink_setup(struct stmmac_priv *priv)
        priv->tx_lpi_clk_stop = priv->plat->flags &
                                STMMAC_FLAG_EN_TX_LPI_CLOCKGATING;
 
-       mdio_bus_data = priv->plat->mdio_bus_data;
-       if (mdio_bus_data)
-               config->default_an_inband = mdio_bus_data->default_an_inband;
+       config->default_an_inband = priv->plat->default_an_inband;
 
        /* Get the PHY interface modes (at the PHY end of the link) that
         * are supported by the platform.
index 72febd246bdbf459066567e978d87541339f1d4b..565bb394b19458b1d4883e35803c79ef706c4228 100644 (file)
@@ -89,7 +89,6 @@ struct stmmac_mdio_bus_data {
        int *irqs;
        int probed_phy_irq;
        bool needs_reset;
-       bool default_an_inband;
 };
 
 struct stmmac_dma_cfg {
@@ -250,6 +249,7 @@ struct plat_stmmacenet_data {
        struct stmmac_dma_cfg *dma_cfg;
        struct stmmac_safety_feature_cfg *safety_feat_cfg;
        int clk_csr;
+       bool default_an_inband;
        bool enh_desc;
        bool tx_coe;
        bool bugged_jumbo;