[][mt7981: drivers: net: phy: update control logic for all calibration items]

[Description]
Change control logic for all calibration item.

[Release-log]
N/A

Change-Id: Ia5d574bb7248e629e35244bea38cc8a0f5e9dfe8
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/5357795
diff --git a/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c b/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
index c243a0a..be7a1e1 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/phy/mediatek-ge.c
@@ -224,36 +224,39 @@
 		if(cal_ret) break;			\
 	}
 
-#define SW_CAL(cal_item, cal_mode_get, pair_mode)	\
-	CAL_##pair_mode(cal_item, sw)		\
+#define SW_CAL(cal_item, cal_mode_get, pair_mode)			\
+	if(ret || (!ret && strcmp("sw", cal_mode_get) == 0)) {		\
+		CAL_##pair_mode(cal_item, sw)				\
+	}
 
 #define SW_EFUSE_CAL(cal_item, cal_mode_get, pair_mode,...)	\
-	if (ret || (!ret && strcmp("efuse", cal_mode_get) == 0)) {	\
+	if ((efs_valid && ret) ||				\
+	    (!ret && strcmp("efuse", cal_mode_get) == 0)) {	\
 		CAL_##pair_mode(cal_item, efuse, ##__VA_ARGS__)	\
-	} else if (!ret && strcmp("sw", cal_mode_get) == 0) {	\
+	} else if ((!efs_valid && ret) ||			\
+		   (!ret && strcmp("sw", cal_mode_get) == 0)) {	\
 		CAL_##pair_mode(cal_item, sw)			\
-	} else {								\
-		dev_info(&phydev->mdio.dev, "%s cal mode %s not supported\n",	\
-			#cal_item,					\
-			cal_mode_get);	\
 	}
 
 #define EFUSE_CAL(cal_item, cal_mode_get, pair_mode, ...)	\
 	if ((efs_valid && ret) ||				\
-	    (efs_valid && !ret && strcmp("efuse", cal_mode_get) == 0)) {\
+	    (!ret && strcmp("efuse", cal_mode_get) == 0)) {\
 		CAL_##pair_mode(cal_item, efuse, ##__VA_ARGS__)	\
-	} else {							\
-		dev_info(&phydev->mdio.dev, "%s uses default value, "	\
-			"efs-valid: %s, dts: %s\n",	\
-			#cal_item,			\
-			efs_valid? "yes" : "no",	\
-			ret? "empty" : cal_mode_get);		\
 	}
 
 #define CAL_FLOW(cal_item, cal_mode, cal_mode_get, pair_mode,...)	\
 	ret = of_property_read_string(phydev->mdio.dev.of_node,		\
 			#cal_item, &cal_mode_get);			\
 	cal_mode##_CAL(cal_item, cal_mode_get, pair_mode, ##__VA_ARGS__)\
+	else {								\
+		dev_info(&phydev->mdio.dev, "%s cal mode %s%s,"		\
+			 " use default value,"				\
+			 " efs-valid: %s",				\
+			 #cal_item,					\
+			 ret? "" : cal_mode_get,			\
+			 ret? "not specified" : " not supported",	\
+			 efs_valid? "yes" : "no");			\
+	}								\
 	if(cal_ret) {							\
 		dev_err(&phydev->mdio.dev, "cal_item cal failed\n");	\
 		ret = -EIO;						\