From e06c7f34d2944a66ad0a8486f112ade610512f74 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Marek=20Beh=C3=BAn?= <marek.behun@nic.cz>
Date: Wed, 27 Apr 2022 12:41:59 +0200
Subject: [PATCH] net: mvneta: Write PHY address just before enabling HW
 polling
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Write PHY address just before enabling HW polling of the PHY.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
---
 drivers/net/mvneta.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 5b1c4fe5fc..4917857681 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -814,6 +814,8 @@ static void mvneta_defaults_set(struct mvneta_port *pp)
 
 	/* Enable PHY polling in hardware if not in fixed-link mode */
 	if (!pp->fixed_link) {
+		mvreg_write(pp, MVNETA_PHY_ADDR, pp->phydev->addr);
+
 		val = mvreg_read(pp, MVNETA_UNIT_CONTROL);
 		val |= MVNETA_PHY_POLLING_ENABLE;
 		mvreg_write(pp, MVNETA_UNIT_CONTROL, val);
@@ -1431,10 +1433,6 @@ static int mvneta_start(struct udevice *dev)
 
 		pp->fixed_link = phydev->phy_id == PHY_FIXED_ID;
 
-		/* Set PHY address in case we will enable HW polling */
-		if (!pp->fixed_link)
-			mvreg_write(pp, MVNETA_PHY_ADDR, phydev->addr);
-
 		pp->phydev = phydev;
 		phy_config(phydev);
 		phy_startup(phydev);
-- 
2.39.5