]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: enetc: Convert 16-bit register writes to 32-bit for ENETC v4
authorClaudiu Manoil <claudiu.manoil@nxp.com>
Fri, 30 Jan 2026 14:10:34 +0000 (16:10 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Feb 2026 02:11:52 +0000 (18:11 -0800)
commit21d0fc95b5920ae8e69a2c0394bef82b8392bcc9
tree27a4bb273922d4e1f67c79eb47339aa8a0db6b2f
parent9ae13b2e64fcd2ca00a76b7d60fc4641a6b9209d
net: enetc: Convert 16-bit register writes to 32-bit for ENETC v4

For ENETC v4, which is integrated into more complex SoCs (compared to v1),
16‑bit register writes are blocked in the SoC interconnect on some chips.

To be fair, it is not recommended to access 32‑bit registers of this IP
using lower‑width accessors (i.e. 16‑bit), and the only exception to
this rule was introduced by me in the initial ENETC v1 driver for the
PMAR1 register, which holds the lower 16 bits of the primary MAC address
of an SI. Meanwhile, this exception has been replicated for v4 as well.

Since LS1028 (the only SoC with ENETC v1) is not affected by this issue,
the current patch fixes the 16‑bit writes to PMAR1 starting with ENETC
v4.

Fixes: 99100d0d9922 ("net: enetc: add preliminary support for i.MX95 ENETC PF")
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Reviewed-by: Wei Fang <wei.fang@nxp.com>
Link: https://patch.msgid.link/20260130141035.272471-4-claudiu.manoil@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc4_pf.c