Commit 5bcdb137 authored by Tristram Ha's avatar Tristram Ha Committed by Jakub Kicinski
Browse files

net: dsa: microchip: Write switch MAC address differently for KSZ8463



KSZ8463 uses 16-bit register definitions so it writes differently for
8-bit switch MAC address.

Signed-off-by: default avatarTristram Ha <tristram.ha@microchip.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250725001753.6330-5-Tristram.Ha@microchip.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 15b8d3e3
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -4821,7 +4821,16 @@ int ksz_switch_macaddr_get(struct dsa_switch *ds, int port,

	/* Program the switch MAC address to hardware */
	for (i = 0; i < ETH_ALEN; i++) {
		ret = ksz_write8(dev, regs[REG_SW_MAC_ADDR] + i, addr[i]);
		if (ksz_is_ksz8463(dev)) {
			u16 addr16 = ((u16)addr[i] << 8) | addr[i + 1];

			ret = ksz_write16(dev, regs[REG_SW_MAC_ADDR] + i,
					  addr16);
			i++;
		} else {
			ret = ksz_write8(dev, regs[REG_SW_MAC_ADDR] + i,
					 addr[i]);
		}
		if (ret)
			goto macaddr_drop;
	}