Skip to content

Commit cd28d1d

Browse files
vinodkouldavem330
authored andcommitted
net: phy: at803x: Disable phy delay for RGMII mode
For RGMII mode, phy delay should be disabled. Add this case along with disable delay routines. Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 83c177a commit cd28d1d

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

drivers/net/phy/at803x.c

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,16 @@ static int at803x_debug_reg_mask(struct phy_device *phydev, u16 reg,
110110
return phy_write(phydev, AT803X_DEBUG_DATA, val);
111111
}
112112

113-
static inline int at803x_enable_rx_delay(struct phy_device *phydev)
113+
static inline int at803x_disable_rx_delay(struct phy_device *phydev)
114114
{
115-
return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_0, 0,
116-
AT803X_DEBUG_RX_CLK_DLY_EN);
115+
return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_0,
116+
AT803X_DEBUG_RX_CLK_DLY_EN, 0);
117117
}
118118

119-
static inline int at803x_enable_tx_delay(struct phy_device *phydev)
119+
static inline int at803x_disable_tx_delay(struct phy_device *phydev)
120120
{
121-
return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_5, 0,
122-
AT803X_DEBUG_TX_CLK_DLY_EN);
121+
return at803x_debug_reg_mask(phydev, AT803X_DEBUG_REG_5,
122+
AT803X_DEBUG_TX_CLK_DLY_EN, 0);
123123
}
124124

125125
/* save relevant PHY registers to private copy */
@@ -256,15 +256,17 @@ static int at803x_config_init(struct phy_device *phydev)
256256
return ret;
257257

258258
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID ||
259-
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) {
260-
ret = at803x_enable_rx_delay(phydev);
259+
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
260+
phydev->interface == PHY_INTERFACE_MODE_RGMII) {
261+
ret = at803x_disable_rx_delay(phydev);
261262
if (ret < 0)
262263
return ret;
263264
}
264265

265266
if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID ||
266-
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID) {
267-
ret = at803x_enable_tx_delay(phydev);
267+
phydev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
268+
phydev->interface == PHY_INTERFACE_MODE_RGMII) {
269+
ret = at803x_disable_tx_delay(phydev);
268270
if (ret < 0)
269271
return ret;
270272
}

0 commit comments

Comments
 (0)