if_ed_pccard.c (142260) | if_ed_pccard.c (147256) |
---|---|
1/*- 2 * Copyright (c) 1995, David Greenman 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 --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 1995, David Greenman 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 --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/dev/ed/if_ed_pccard.c 142260 2005-02-22 22:07:18Z imp $ | 27 * $FreeBSD: head/sys/dev/ed/if_ed_pccard.c 147256 2005-06-10 16:49:24Z brooks $ |
28 */ 29 30#include "opt_ed.h" 31 32#include <sys/param.h> 33#include <sys/systm.h> 34#include <sys/socket.h> 35#include <sys/kernel.h> --- 296 unchanged lines hidden (view full) --- 332 device_printf(dev, "Fallback MAC %6D\n", 333 enaddr, ":"); 334 } 335 if (sum == 0) { 336 device_printf(dev, "Cannot extract MAC address.\n"); 337 ed_release_resources(dev); 338 return (ENXIO); 339 } | 28 */ 29 30#include "opt_ed.h" 31 32#include <sys/param.h> 33#include <sys/systm.h> 34#include <sys/socket.h> 35#include <sys/kernel.h> --- 296 unchanged lines hidden (view full) --- 332 device_printf(dev, "Fallback MAC %6D\n", 333 enaddr, ":"); 334 } 335 if (sum == 0) { 336 device_printf(dev, "Cannot extract MAC address.\n"); 337 ed_release_resources(dev); 338 return (ENXIO); 339 } |
340 bcopy(enaddr, sc->arpcom.ac_enaddr, ETHER_ADDR_LEN); | 340 bcopy(enaddr, sc->enaddr, ETHER_ADDR_LEN); |
341 } 342 343 error = ed_attach(dev); 344#ifndef ED_NO_MIIBUS 345 if (error == 0 && (sc->chip_type == ED_CHIP_TYPE_DL10019 || 346 sc->chip_type == ED_CHIP_TYPE_DL10022)) { 347 /* Probe for an MII bus, but ignore errors. */ 348 ed_pccard_dlink_mii_reset(sc); --- 38 unchanged lines hidden (view full) --- 387 388 /* Card Settings */ 389 for (i = 0; i < sizeof(pg_seq) / sizeof(pg_seq[0]); i++) 390 ed_nic_outb(sc, pg_seq[i].offset, pg_seq[i].value); 391 392 /* Get Data */ 393 for (i = 0; i < 16; i++) 394 prom[i] = ed_asic_inb(sc, 0); | 341 } 342 343 error = ed_attach(dev); 344#ifndef ED_NO_MIIBUS 345 if (error == 0 && (sc->chip_type == ED_CHIP_TYPE_DL10019 || 346 sc->chip_type == ED_CHIP_TYPE_DL10022)) { 347 /* Probe for an MII bus, but ignore errors. */ 348 ed_pccard_dlink_mii_reset(sc); --- 38 unchanged lines hidden (view full) --- 387 388 /* Card Settings */ 389 for (i = 0; i < sizeof(pg_seq) / sizeof(pg_seq[0]); i++) 390 ed_nic_outb(sc, pg_seq[i].offset, pg_seq[i].value); 391 392 /* Get Data */ 393 for (i = 0; i < 16; i++) 394 prom[i] = ed_asic_inb(sc, 0); |
395 sc->arpcom.ac_enaddr[0] = prom[0] & 0xff; 396 sc->arpcom.ac_enaddr[1] = prom[0] >> 8; 397 sc->arpcom.ac_enaddr[2] = prom[1] & 0xff; 398 sc->arpcom.ac_enaddr[3] = prom[1] >> 8; 399 sc->arpcom.ac_enaddr[4] = prom[2] & 0xff; 400 sc->arpcom.ac_enaddr[5] = prom[2] >> 8; | 395 sc->enaddr[0] = prom[0] & 0xff; 396 sc->enaddr[1] = prom[0] >> 8; 397 sc->enaddr[2] = prom[1] & 0xff; 398 sc->enaddr[3] = prom[1] >> 8; 399 sc->enaddr[4] = prom[2] & 0xff; 400 sc->enaddr[5] = prom[2] >> 8; |
401} 402 403static int 404ed_pccard_memwrite(device_t dev, off_t offset, u_char byte) 405{ 406 int cis_rid; 407 struct resource *cis; 408 --- 60 unchanged lines hidden (view full) --- 469 * 0x0A : Card ID Register (CIR) 470 * 0x0B : Check Sum Register (SR) 471 */ 472 for (sum = 0, i = 0x04; i < 0x0c; i++) 473 sum += ed_asic_inb(sc, i); 474 if (sum != 0xff) 475 return (ENXIO); /* invalid DL10019C */ 476 for (i = 0; i < ETHER_ADDR_LEN; i++) | 401} 402 403static int 404ed_pccard_memwrite(device_t dev, off_t offset, u_char byte) 405{ 406 int cis_rid; 407 struct resource *cis; 408 --- 60 unchanged lines hidden (view full) --- 469 * 0x0A : Card ID Register (CIR) 470 * 0x0B : Check Sum Register (SR) 471 */ 472 for (sum = 0, i = 0x04; i < 0x0c; i++) 473 sum += ed_asic_inb(sc, i); 474 if (sum != 0xff) 475 return (ENXIO); /* invalid DL10019C */ 476 for (i = 0; i < ETHER_ADDR_LEN; i++) |
477 sc->arpcom.ac_enaddr[i] = ed_asic_inb(sc, 0x04 + i); | 477 sc->enaddr[i] = ed_asic_inb(sc, 0x04 + i); |
478 ed_nic_outb(sc, ED_P0_DCR, ED_DCR_WTS | ED_DCR_FT1 | ED_DCR_LS); 479 id = ed_asic_inb(sc, 0xf); 480 sc->isa16bit = 1; 481 sc->vendor = ED_VENDOR_NOVELL; 482 sc->type = ED_TYPE_NE2000; 483 sc->chip_type = (id & 0x90) == 0x90 ? 484 ED_CHIP_TYPE_DL10022 : ED_CHIP_TYPE_DL10019; 485 sc->type_str = ((id & 0x90) == 0x90) ? "DL10022" : "DL10019"; --- 160 unchanged lines hidden --- | 478 ed_nic_outb(sc, ED_P0_DCR, ED_DCR_WTS | ED_DCR_FT1 | ED_DCR_LS); 479 id = ed_asic_inb(sc, 0xf); 480 sc->isa16bit = 1; 481 sc->vendor = ED_VENDOR_NOVELL; 482 sc->type = ED_TYPE_NE2000; 483 sc->chip_type = (id & 0x90) == 0x90 ? 484 ED_CHIP_TYPE_DL10022 : ED_CHIP_TYPE_DL10019; 485 sc->type_str = ((id & 0x90) == 0x90) ? "DL10022" : "DL10019"; --- 160 unchanged lines hidden --- |