mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
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:
committed by
Vinod Koul
parent
c6c1d7dfd5
commit
f64ef1995d
@@ -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) \
|
||||
|
||||
Reference in New Issue
Block a user