]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: qcom-ethqos: move phase_shift to register update site
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 27 Mar 2026 08:44:39 +0000 (08:44 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 31 Mar 2026 00:36:46 +0000 (17:36 -0700)
Move the determination of the phase shift enable alongside the register
update, and make "phase_shift" unsigned.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tested-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Link: https://patch.msgid.link/E1w62o3-0000000E3DE-3Vf8@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c

index 667676c29a95aaaba5290424308424a3500143e2..ad3a983d2a08dfe512bd4d7c8f2ec6c56e7da183 100644 (file)
@@ -375,14 +375,7 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
 {
        struct device *dev = &ethqos->pdev->dev;
        unsigned int prg_rclk_dly, loopback;
-       int phase_shift;
-
-       /* Determine if the PHY adds a 2 ns TX delay or the MAC handles it */
-       if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID ||
-           ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_TXID)
-               phase_shift = 0;
-       else
-               phase_shift = RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN;
+       unsigned int phase_shift;
 
        /* Disable loopback mode */
        rgmii_clrmask(ethqos, RGMII_CONFIG2_TX_TO_RX_LOOPBACK_EN,
@@ -416,6 +409,14 @@ static int ethqos_rgmii_macro_init(struct qcom_ethqos *ethqos, int speed)
 
        rgmii_clrmask(ethqos, RGMII_CONFIG2_DATA_DIVIDE_CLK_SEL,
                      RGMII_IO_MACRO_CONFIG2);
+
+       /* Determine if the PHY adds a 2 ns TX delay or the MAC handles it */
+       if (ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_ID ||
+           ethqos->phy_mode == PHY_INTERFACE_MODE_RGMII_TXID)
+               phase_shift = 0;
+       else
+               phase_shift = RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN;
+
        rgmii_updatel(ethqos, RGMII_CONFIG2_TX_CLK_PHASE_SHIFT_EN, phase_shift,
                      RGMII_IO_MACRO_CONFIG2);