From owner-svn-src-all@FreeBSD.ORG Wed May 13 21:01:11 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5150C106566C; Wed, 13 May 2009 21:01:11 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F1968FC29; Wed, 13 May 2009 21:01:11 +0000 (UTC) (envelope-from stas@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4DL1AMK067313; Wed, 13 May 2009 21:01:10 GMT (envelope-from stas@svn.freebsd.org) Received: (from stas@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4DL1AOm067312; Wed, 13 May 2009 21:01:10 GMT (envelope-from stas@svn.freebsd.org) Message-Id: <200905132101.n4DL1AOm067312@svn.freebsd.org> From: Stanislav Sedov Date: Wed, 13 May 2009 21:01:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192064 - head/sys/arm/at91 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 May 2009 21:01:11 -0000 Author: stas Date: Wed May 13 21:01:10 2009 New Revision: 192064 URL: http://svn.freebsd.org/changeset/base/192064 Log: - Set MAC address in ateinit, so it can be changed later. Modified: head/sys/arm/at91/if_ate.c Modified: head/sys/arm/at91/if_ate.c ============================================================================== --- head/sys/arm/at91/if_ate.c Wed May 13 20:29:53 2009 (r192063) +++ head/sys/arm/at91/if_ate.c Wed May 13 21:01:10 2009 (r192064) @@ -256,7 +256,6 @@ ate_attach(device_t dev) eaddr[4] = (rnd >> 8) & 0xff; eaddr[5] = rnd & 0xff; } - ate_set_mac(sc, eaddr); sc->ifp = ifp = if_alloc(IFT_ETHER); if (mii_phy_probe(dev, &sc->miibus, ate_ifmedia_upd, ate_ifmedia_sts)) { @@ -841,6 +840,7 @@ ateinit_locked(void *xsc) struct ate_softc *sc = xsc; struct ifnet *ifp = sc->ifp; struct mii_data *mii; + uint8_t eaddr[ETHER_ADDR_LEN]; uint32_t reg; ATE_ASSERT_LOCKED(sc); @@ -870,17 +870,16 @@ ateinit_locked(void *xsc) ate_rxfilter(sc); /* - * Turn on MACs and interrupt processing. + * Set the chip MAC address. */ - WR4(sc, ETH_CTL, RD4(sc, ETH_CTL) | ETH_CTL_TE | ETH_CTL_RE); - WR4(sc, ETH_IER, ETH_ISR_RCOM | ETH_ISR_TCOM | ETH_ISR_RBNA); + bcopy(IF_LLADDR(ifp), eaddr, ETHER_ADDR_LEN); + ate_set_mac(sc, eaddr); /* - * Boot loader fills in MAC address. If that's not the case, then - * we should set SA1L and SA1H here to the appropriate value. Note: - * the byte order is big endian, not little endian, so we have some - * swapping to do. Again, if we need it (which I don't think we do). + * Turn on MACs and interrupt processing. */ + WR4(sc, ETH_CTL, RD4(sc, ETH_CTL) | ETH_CTL_TE | ETH_CTL_RE); + WR4(sc, ETH_IER, ETH_ISR_RCOM | ETH_ISR_TCOM | ETH_ISR_RBNA); /* Enable big packets. */ WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_BIG);