Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Jan 2018 07:36:52 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r328618 - head/sys/dev/etherswitch/arswitch
Message-ID:  <201801310736.w0V7aq3M024231@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Wed Jan 31 07:36:51 2018
New Revision: 328618
URL: https://svnweb.freebsd.org/changeset/base/328618

Log:
  [arswitch] Fix ATU flushing on AR8216/AR8316 and most of the later chips.
  
  The switch hardware requires this bit to be set in order to kick start the
  actual ATU update.  This was being masked on some chips by the learning
  programming (what to do when a MAC address moves, hash table collision, etc)
  which is currently inconsistent between chips.
  
  Tested:
  
  * AR9344 SoC (AR7240 style switch internal)

Modified:
  head/sys/dev/etherswitch/arswitch/arswitch.c

Modified: head/sys/dev/etherswitch/arswitch/arswitch.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch.c	Wed Jan 31 07:20:34 2018	(r328617)
+++ head/sys/dev/etherswitch/arswitch/arswitch.c	Wed Jan 31 07:36:51 2018	(r328618)
@@ -305,7 +305,7 @@ ar8xxx_atu_flush(struct arswitch_softc *sc)
 	if (!ret)
 		arswitch_writereg(sc->sc_dev,
 		    AR8216_REG_ATU,
-		    AR8216_ATU_OP_FLUSH);
+		    AR8216_ATU_OP_FLUSH | AR8216_ATU_ACTIVE);
 
 	return (ret);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801310736.w0V7aq3M024231>