net: dsa: b53: Fix ARL register definitions
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 21 Apr 2020 03:26:53 +0000 (20:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Apr 2020 19:50:41 +0000 (12:50 -0700)
The ARL {MAC,VID} tuple and the forward entry were off by 0x10 bytes,
which means that when we read/wrote from/to ARL bin index 0, we were
actually accessing the ARLA_RWCTRL register.

Fixes: 1da6df85c6fb ("net: dsa: b53: Implement ARL add/del/dump operations")
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/b53_regs.h

index 2a9f421..d914e75 100644 (file)
  *
  * BCM5325 and BCM5365 share most definitions below
  */
-#define B53_ARLTBL_MAC_VID_ENTRY(n)    (0x10 * (n))
+#define B53_ARLTBL_MAC_VID_ENTRY(n)    ((0x10 * (n)) + 0x10)
 #define   ARLTBL_MAC_MASK              0xffffffffffffULL
 #define   ARLTBL_VID_S                 48
 #define   ARLTBL_VID_MASK_25           0xff
 #define   ARLTBL_VALID_25              BIT(63)
 
 /* ARL Table Data Entry N Registers (32 bit) */
-#define B53_ARLTBL_DATA_ENTRY(n)       ((0x10 * (n)) + 0x08)
+#define B53_ARLTBL_DATA_ENTRY(n)       ((0x10 * (n)) + 0x18)
 #define   ARLTBL_DATA_PORT_ID_MASK     0x1ff
 #define   ARLTBL_TC(tc)                        ((3 & tc) << 11)
 #define   ARLTBL_AGE                   BIT(14)