phy: lynx-28g: optimize read-modify-write operation

It is unnecessary to rewrite a register if the masked field already
contains the desired value upon reading. The hardware behaviour does not
depend upon register writes with identical values.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20260610151952.2141019-13-vladimir.oltean@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Vladimir Oltean
2026-06-10 18:19:48 +03:00
committed by Vinod Koul
parent c6c1d7dfd5
commit f64ef1995d

View File

@@ -93,7 +93,8 @@ static inline void lynx_rmw(struct lynx_priv *priv, unsigned long off, u32 val,
orig = lynx_read(priv, off);
tmp = orig & ~mask;
tmp |= val;
lynx_write(priv, off, tmp);
if (orig != tmp)
lynx_write(priv, off, tmp);
}
#define lynx_lane_rmw(lane, reg, val, mask) \