Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa907895 authored by Matheos Worku's avatar Matheos Worku Committed by David S. Miller
Browse files

[NIU]: More BMAC alt MAC address fixes.



From: Matheos Worku <Matheos.Worku@Sun.COM>

1) niu_enable_alt_mac() needs to be adjusted so that the mask
   is computed properly for the BMAC case.

2) BMAC has 6 alt MAC addresses available, not 7.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7b33ed22
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1616,12 +1616,13 @@ static int niu_enable_alt_mac(struct niu *np, int index, int on)
	if (index >= niu_num_alt_addr(np))
		return -EINVAL;

	if (np->flags & NIU_FLAGS_XMAC)
	if (np->flags & NIU_FLAGS_XMAC) {
		reg = XMAC_ADDR_CMPEN;
	else
		reg = BMAC_ADDR_CMPEN;

		mask = 1 << index;
	} else {
		reg = BMAC_ADDR_CMPEN;
		mask = 1 << (index + 1);
	}

	val = nr64_mac(reg);
	if (on)
+1 −1
Original line number Diff line number Diff line
@@ -499,7 +499,7 @@
#define BMAC_ADDR2			0x00110UL
#define  BMAC_ADDR2_ADDR2		0x000000000000ffffULL

#define BMAC_NUM_ALT_ADDR		7
#define BMAC_NUM_ALT_ADDR		6

#define BMAC_ALT_ADDR0(NUM)		(0x00118UL + (NUM)*0x18UL)
#define  BMAC_ALT_ADDR0_ADDR0		0x000000000000ffffULL