[PATCH v2] net: phy: dp83822: fix transmit amplitude if CONFIG_OF_MDIO not defined
From: Dimitri Fedrau via B4 Relay
Date: Mon Mar 17 2025 - 03:48:52 EST
From: Dimitri Fedrau <dimitri.fedrau@xxxxxxxxxxxx>
When CONFIG_OF_MDIO is not defined the index for selecting the transmit
amplitude voltage for 100BASE-TX is set to 0, but it should be -1, if there
is no need to modify the transmit amplitude voltage. Move initialization of
the index from dp83822_of_init to dp8382x_probe.
Fixes: 4f3735e82d8a ("net: phy: dp83822: Add support for changing the transmit amplitude voltage")
Reviewed-by: Gerhard Engleder <gerhard@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@xxxxxxxxxxxx>
---
Changes in v2:
- Drop tx_amplitude_100base_tx_index_modify
- Init tx_amplitude_100base_tx_index in dp8382x_probe
- Link to v1: https://lore.kernel.org/r/20250312-dp83822-fix-transceiver-mdio-v1-1-7b69103c5ab0@xxxxxxxxxxxx
---
drivers/net/phy/dp83822.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c
index 3662f3905d5ade8ad933608fcaeabb714a588418..14f36154963841dff98be5af4dfbd2760325c13d 100644
--- a/drivers/net/phy/dp83822.c
+++ b/drivers/net/phy/dp83822.c
@@ -833,7 +833,6 @@ static int dp83822_of_init(struct phy_device *phydev)
dp83822->set_gpio2_clk_out = true;
}
- dp83822->tx_amplitude_100base_tx_index = -1;
ret = phy_get_tx_amplitude_gain(phydev, dev,
ETHTOOL_LINK_MODE_100baseT_Full_BIT,
&val);
@@ -931,6 +930,7 @@ static int dp8382x_probe(struct phy_device *phydev)
if (!dp83822)
return -ENOMEM;
+ dp83822->tx_amplitude_100base_tx_index = -1;
phydev->priv = dp83822;
return 0;
---
base-commit: bfc6c67ec2d64d0ca4e5cc3e1ac84298a10b8d62
change-id: 20250307-dp83822-fix-transceiver-mdio-ae27fed80699
Best regards,
--
Dimitri Fedrau <dimitri.fedrau@xxxxxxxxxxxx>