1/*- 2 * Copyright (c) 1995, David Greenman 3 * Copyright (c) 2001 Jonathan Lemon <jlemon@freebsd.org> 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 11 unchanged lines hidden (view full) --- 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/dev/fxp/if_fxp.c 113017 2003-04-03 14:08:35Z mux $ |
29 */ 30 31/* 32 * Intel EtherExpress Pro/100B PCI Fast Ethernet driver 33 */ 34 35#include <sys/param.h> 36#include <sys/systm.h> --- 1991 unchanged lines hidden (view full) --- 2028 /* 2029 * Now initialize the station address. Temporarily use the TxCB 2030 * memory area like we did above for the config CB. 2031 */ 2032 cb_ias = (struct fxp_cb_ias *)sc->fxp_desc.cbl_list; 2033 cb_ias->cb_status = 0; 2034 cb_ias->cb_command = FXP_CB_COMMAND_IAS | FXP_CB_COMMAND_EL; 2035 cb_ias->link_addr = -1; |
2036 bcopy(sc->arpcom.ac_enaddr, cb_ias->macaddr, |
2037 sizeof(sc->arpcom.ac_enaddr)); 2038 2039 /* 2040 * Start the IAS (Individual Address Setup) command/DMA. 2041 */ 2042 fxp_scb_wait(sc); 2043 bus_dmamap_sync(sc->cbl_tag, sc->cbl_map, BUS_DMASYNC_PREWRITE); 2044 fxp_scb_cmd(sc, FXP_SCB_COMMAND_CU_START); --- 337 unchanged lines hidden (view full) --- 2382 if (ifma->ifma_addr->sa_family != AF_LINK) 2383 continue; 2384 if (nmcasts >= MAXMCADDR) { 2385 sc->flags |= FXP_FLAG_ALL_MCAST; 2386 nmcasts = 0; 2387 break; 2388 } 2389 bcopy(LLADDR((struct sockaddr_dl *)ifma->ifma_addr), |
2390 &sc->mcsp->mc_addr[nmcasts][0], 6); |
2391 nmcasts++; 2392 } 2393 } 2394 mcsp->mc_cnt = nmcasts * 6; 2395 return (nmcasts); 2396} 2397 2398/* --- 206 unchanged lines hidden --- |