Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/sociox try to be consistent for the number of a...



details:   https://anonhg.NetBSD.org/src/rev/426c55e0f1d0
branches:  trunk
changeset: 970462:426c55e0f1d0
user:      nisimura <nisimura%NetBSD.org@localhost>
date:      Tue Mar 24 10:47:03 2020 +0000

description:
try to be consistent for the number of address match filter. tentative util the reality.

diffstat:

 sys/arch/arm/sociox/if_scx.c |  15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diffs (45 lines):

diff -r 00de392feaf3 -r 426c55e0f1d0 sys/arch/arm/sociox/if_scx.c
--- a/sys/arch/arm/sociox/if_scx.c      Tue Mar 24 10:31:52 2020 +0000
+++ b/sys/arch/arm/sociox/if_scx.c      Tue Mar 24 10:47:03 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_scx.c,v 1.8 2020/03/24 10:31:52 nisimura Exp $      */
+/*     $NetBSD: if_scx.c,v 1.9 2020/03/24 10:47:03 nisimura Exp $      */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -40,12 +40,13 @@
  *   to designify ring number from which to arrive or to which go.
  * - memory mapped EEPROM to hold MAC address. The rest of the area is
  *   occupied by a set of ucode for two DMA engines and one packet engine.
- * - The size of frame address filter is unknown. Might be 32
+ * - The size of frame address filter is unknown. Might be 16 or even 128.
  * - The first slot is my own station address. Always enabled to perform
  *   to identify oneself.
- * - 1~31 are for supplimental MAC addresses. Independently enabled
- *   for use. Good to catch multicast. Byte-wise selective match available.
- *   Use to catch { 0x01, 0x00, 0x00 } and/or { 0x33, 0x33 }.
+ * - 1~16 are for supplimental MAC addresses. Independently enabled for
+ *   use. Good to catch multicast. Byte-wise selective match available.
+ *   Use the mask to catch { 0x01, 0x00, 0x00 } and/or { 0x33, 0x33 }.
+ * - 16~128 might be exact match without byte-mask.
  * - The size of multicast hash filter store is unknown. Might be 256 bit.
  * - Socionext/Linaro "NetSec" code makes many cut shorts. Some constants
  *   are left unexplained. The values should be handled via external
@@ -55,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_scx.c,v 1.8 2020/03/24 10:31:52 nisimura Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_scx.c,v 1.9 2020/03/24 10:47:03 nisimura Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -924,7 +925,7 @@
                }
 printf("[%d] %s\n", i, ether_sprintf(enm->enm_addrlo));
                if (i < 16) {
-                       /* use 31 entry perfect match filter */
+                       /* use 15 entry perfect match filter */
                        uint32_t addr;
                        uint8_t *ep = enm->enm_addrlo;
                        addr = (ep[3] << 24) | (ep[2] << 16)



Home | Main Index | Thread Index | Old Index