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>