Deleted Added
full compact
if_xe.c (148030) if_xe.c (148654)
1/*-
2 * Copyright (c) 1998, 1999, 2003 Scott Mitchell
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 43 unchanged lines hidden (view full) ---

52 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
53 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
54 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
55 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
56 * OF THE POSSIBILITY OF SUCH DAMAGE.
57 */
58
59#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1998, 1999, 2003 Scott Mitchell
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 43 unchanged lines hidden (view full) ---

52 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
53 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
54 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
55 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
56 * OF THE POSSIBILITY OF SUCH DAMAGE.
57 */
58
59#include <sys/cdefs.h>
60__FBSDID("$FreeBSD: head/sys/dev/xe/if_xe.c 148030 2005-07-15 06:08:26Z imp $");
60__FBSDID("$FreeBSD: head/sys/dev/xe/if_xe.c 148654 2005-08-03 00:18:35Z rwatson $");
61
62/*
63 * FreeBSD device driver for Xircom CreditCard PCMCIA Ethernet adapters. The
64 * following cards are currently known to work with the driver:
65 * Xircom CreditCard 10/100 (CE3)
66 * Xircom CreditCard Ethernet + Modem 28 (CEM28)
67 * Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
68 * Xircom RealPort Ethernet 10

--- 1200 unchanged lines hidden (view full) ---

1269 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) | XE_SWC1_ALLMULTI);
1270 return;
1271 }
1272 else
1273 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) & ~XE_SWC1_ALLMULTI);
1274
1275 /* Iterate over multicast address list */
1276 count = 0;
61
62/*
63 * FreeBSD device driver for Xircom CreditCard PCMCIA Ethernet adapters. The
64 * following cards are currently known to work with the driver:
65 * Xircom CreditCard 10/100 (CE3)
66 * Xircom CreditCard Ethernet + Modem 28 (CEM28)
67 * Xircom CreditCard Ethernet 10/100 + Modem 56 (CEM56)
68 * Xircom RealPort Ethernet 10

--- 1200 unchanged lines hidden (view full) ---

1269 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) | XE_SWC1_ALLMULTI);
1270 return;
1271 }
1272 else
1273 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) & ~XE_SWC1_ALLMULTI);
1274
1275 /* Iterate over multicast address list */
1276 count = 0;
1277 IF_ADDR_LOCK(ifp);
1277#if __FreeBSD_version < 500000
1278 LIST_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) {
1279#else
1280 TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) {
1281#endif
1282 if (maddr->ifma_addr->sa_family != AF_LINK)
1283 continue;
1284

--- 5 unchanged lines hidden (view full) ---

1290 else
1291 if (scp->mohawk)
1292 /* Use hash filter on Mohawk and Dingo */
1293 xe_mchash(scp, LLADDR((struct sockaddr_dl *)maddr->ifma_addr));
1294 else
1295 /* Nowhere else to put them on CE2 */
1296 break;
1297 }
1278#if __FreeBSD_version < 500000
1279 LIST_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) {
1280#else
1281 TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) {
1282#endif
1283 if (maddr->ifma_addr->sa_family != AF_LINK)
1284 continue;
1285

--- 5 unchanged lines hidden (view full) ---

1291 else
1292 if (scp->mohawk)
1293 /* Use hash filter on Mohawk and Dingo */
1294 xe_mchash(scp, LLADDR((struct sockaddr_dl *)maddr->ifma_addr));
1295 else
1296 /* Nowhere else to put them on CE2 */
1297 break;
1298 }
1299 IF_ADDR_UNLOCK(ifp);
1298
1299 DEVPRINTF(2, (scp->dev, "set_multicast: count = %u\n", count));
1300
1301 /* Now do some cleanup and enable multicast handling as needed */
1302 if (count == 0) {
1303 /* Disable all multicast handling */
1304 XE_SELECT_PAGE(0x42);
1305 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) & ~(XE_SWC1_IA_ENABLE|XE_SWC1_ALLMULTI));

--- 660 unchanged lines hidden ---
1300
1301 DEVPRINTF(2, (scp->dev, "set_multicast: count = %u\n", count));
1302
1303 /* Now do some cleanup and enable multicast handling as needed */
1304 if (count == 0) {
1305 /* Disable all multicast handling */
1306 XE_SELECT_PAGE(0x42);
1307 XE_OUTB(XE_SWC1, XE_INB(XE_SWC1) & ~(XE_SWC1_IA_ENABLE|XE_SWC1_ALLMULTI));

--- 660 unchanged lines hidden ---