]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: intel-plat: remove eee_usecs_rate and hardware write
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sat, 12 Apr 2025 08:08:40 +0000 (09:08 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Apr 2025 00:12:41 +0000 (17:12 -0700)
Remove the write to GMAC_1US_TIC_COUNTER for two reasons:

1. during initialisation or reinitialisation of the DWMAC core, the
   core is reset, which sets this register back to its default value.
   Writing it prior to stmmac_dvr_probe() has no effect.

2. Since commit 8efbdbfa9938 ("net: stmmac: Initialize
   MAC_ONEUS_TIC_COUNTER register"), GMAC4/5 core code will set
   this register based on the rate of plat->stmmac_clk. This clock
   is fetched by devm_stmmac_probe_config_dt(), and plat->clk_ptp_rate
   will be set to its rate profided a "ptp_ref" clock is not provided.
   In any case, Marek's commit will set the effectual value of this
   register.

Therefore, dwmac-intel-plat.c writing GMAC_1US_TIC_COUNTER serves no
useful purpose and can be removed.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1u3Vuq-000E7s-5Y@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c

index 599def7b3a64917b7d4fee45557ed851eb007b49..4ea7b0a803d73ce14a8f1442deb5d7c0941c4f38 100644 (file)
@@ -113,16 +113,7 @@ static int intel_eth_plat_probe(struct platform_device *pdev)
 
        plat_dat->clk_tx_i = dwmac->tx_clk;
        plat_dat->set_clk_tx_rate = stmmac_set_clk_tx_rate;
-
        plat_dat->bsp_priv = dwmac;
-       plat_dat->eee_usecs_rate = plat_dat->clk_ptp_rate;
-
-       if (plat_dat->eee_usecs_rate > 0) {
-               u32 tx_lpi_usec;
-
-               tx_lpi_usec = (plat_dat->eee_usecs_rate / 1000000) - 1;
-               writel(tx_lpi_usec, stmmac_res.addr + GMAC_1US_TIC_COUNTER);
-       }
 
        ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
        if (ret)