Deleted Added
full compact
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 ---