Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/cardbus Move if_rl_cardbus.c:1.8 to if_rtk_cardbus.c.



details:   https://anonhg.NetBSD.org/src/rev/64faa3f7da5d
branches:  trunk
changeset: 485968:64faa3f7da5d
user:      haya <haya%NetBSD.org@localhost>
date:      Wed May 10 00:24:14 2000 +0000

description:
Move if_rl_cardbus.c:1.8 to if_rtk_cardbus.c.

diffstat:

 sys/dev/cardbus/files.cardbus    |    4 +-
 sys/dev/cardbus/if_rl_cardbus.c  |  315 ---------------------------------------
 sys/dev/cardbus/if_rtk_cardbus.c |  315 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 317 insertions(+), 317 deletions(-)

diffs (truncated from 654 to 300 lines):

diff -r 8ad7c5976f1a -r 64faa3f7da5d sys/dev/cardbus/files.cardbus
--- a/sys/dev/cardbus/files.cardbus     Wed May 10 00:19:55 2000 +0000
+++ b/sys/dev/cardbus/files.cardbus     Wed May 10 00:24:14 2000 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.cardbus,v 1.11 2000/04/19 08:44:32 haya Exp $
+#      $NetBSD: files.cardbus,v 1.12 2000/05/10 00:24:14 haya Exp $
 #
 # files.cardbus
 #
@@ -56,5 +56,5 @@
 # RealTek 8139
 #
 attach rtk at cardbus with rtk_cardbus
-file   dev/cardbus/if_rl_cardbus.c             rtk_cardbus
+file   dev/cardbus/if_rtk_cardbus.c            rtk_cardbus
 
diff -r 8ad7c5976f1a -r 64faa3f7da5d sys/dev/cardbus/if_rl_cardbus.c
--- a/sys/dev/cardbus/if_rl_cardbus.c   Wed May 10 00:19:55 2000 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*     $NetBSD: if_rl_cardbus.c,v 1.8 2000/05/01 15:08:50 tsutsui Exp $        */
-/*
- * Copyright (c) 2000 Masanori Kanaoka
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * if_rl_cardbus.c:
- *     Cardbus specific routines for RealTek 8139 ethernet adapter.
- *     Tested for 
- *             - elecom-Laneed LD-10/100CBA (Accton MPX5030)
- *             - MELCO         LPC3-TX-CB   (RealTek 8138)
- */
-
-#include "opt_inet.h"
-#include "opt_ns.h"
-#include "bpfilter.h"
-#include "rnd.h"
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/callout.h>
-#include <sys/device.h>
-#include <sys/sockio.h>
-#include <sys/mbuf.h>
-#include <sys/malloc.h>
-#include <sys/kernel.h>
-#include <sys/socket.h>
-
-#include <net/if.h>
-#include <net/if_arp.h>
-#include <net/if_ether.h>
-#include <net/if_dl.h>
-#include <net/if_media.h>
-#ifdef INET
-#include <netinet/in.h>
-#include <netinet/if_inarp.h>
-#endif
-#ifdef NS
-#include <netns/ns.h>
-#include <netns/ns_if.h>
-#endif
-
-#if NBPFILTER > 0
-#include <net/bpf.h>
-#endif
-#if NRND > 0
-#include <sys/rnd.h>
-#endif
-
-#include <machine/bus.h>
-
-#include <dev/pci/pcireg.h>
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pcidevs.h>
-
-#include <dev/cardbus/cardbusvar.h>
-#include <dev/cardbus/cardbusdevs.h>
-
-#include <dev/mii/mii.h>
-#include <dev/mii/miivar.h>
-
-/*
- * Default to using PIO access for this driver. On SMP systems,
- * there appear to be problems with memory mapped mode: it looks like
- * doing too many memory mapped access back to back in rapid succession
- * can hang the bus. I'm inclined to blame this on crummy design/construction
- * on the part of RealTek. Memory mapped mode does appear to work on
- * uniprocessor systems though.
- */
-#define RL_USEIOSPACE 
-
-#include <dev/ic/rtl81x9reg.h>
-#include <dev/ic/rtl81x9var.h>
-
-/*
- * Various supported device vendors/types and their names.
- */
-static struct rl_type rl_cardbus_devs[] = {
-       { CARDBUS_VENDOR_ACCTON, CARDBUS_PRODUCT_ACCTON_MPX5030,
-               "Accton MPX 5030/5038 10/100BaseTX" },
-       { CARDBUS_VENDOR_REALTEK, CARDBUS_PRODUCT_REALTEK_RT8138,
-               "RealTek 8138 10/100BaseTX" },
-       { 0, 0, NULL }
-};
-
-const struct rl_type *rl_cardbus_lookup
-       __P((const struct cardbus_attach_args *));
-static int rl_cardbus_match __P((struct device *, struct cfdata *, void *));
-static void rl_cardbus_attach __P((struct device *, struct device *, void *));
-
-struct rl_cardbus_softc {
-       struct rl_softc sc_rl;          /* real rl softc */ 
-
-       /* CardBus-specific goo. */
-       void *sc_ih;
-       cardbus_devfunc_t sc_ct;
-       cardbustag_t sc_tag;
-       int sc_csr;
-       int sc_cben;
-       int sc_bar_reg;
-       pcireg_t sc_bar_val;
-       bus_size_t sc_mapsize;
-       int sc_intrline;
-};
-
-struct cfattach rtk_cardbus_ca = {
-       sizeof(struct rl_cardbus_softc), rl_cardbus_match, rl_cardbus_attach,
-};
-
-const struct rl_type *
-rl_cardbus_lookup(ca)
-       const struct cardbus_attach_args *ca;
-{
-       struct rl_type          *t;
-
-       for (t = rl_cardbus_devs; t->rl_name != NULL; t++){     
-               if (CARDBUS_VENDOR(ca->ca_id) == t->rl_vid &&
-                   CARDBUS_PRODUCT(ca->ca_id)  == t->rl_did) {
-                       return (t);
-               }
-       }
-       return (NULL);
-}
-
-int
-rl_cardbus_match(parent, match, aux)
-       struct device *parent;
-       struct cfdata *match;
-       void *aux;
-{
-       struct cardbus_attach_args *ca = aux;
-
-       if (rl_cardbus_lookup(ca) != NULL)
-               return (1);
-       return (0);
-}
-
-
-void
-rl_cardbus_attach(parent, self, aux)
-       struct device *parent, *self;
-       void *aux;
-{
-       int s, pmreg;
-       pcireg_t command;
-       struct rl_cardbus_softc *csc = (struct rl_cardbus_softc *)self;
-       struct rl_softc *sc = &csc->sc_rl;
-       struct cardbus_attach_args *ca = aux;
-       cardbus_devfunc_t ct = ca->ca_ct;
-       cardbus_chipset_tag_t cc = ct->ct_cc;
-       cardbus_function_tag_t cf = ct->ct_cf;
-       const struct rl_type *t;
-       bus_addr_t adr;
-       pcireg_t reg;
-
-       sc->sc_dmat = ca->ca_dmat;
-       csc->sc_ct = ct;
-       csc->sc_tag = ca->ca_tag;
-       csc->sc_intrline = ca->ca_intrline;
-
-       t = rl_cardbus_lookup(ca); 
-       if (t == NULL) { 
-               printf("\n"); 
-               panic("rl_cardbus_attach: impossible");
-        } 
-       printf(": %s\n", t->rl_name); 
-
-       s = splimp();
-       /*
-        * Handle power management nonsense.
-        */
-       if (cardbus_get_capability(cc, cf, csc->sc_tag,
-           PCI_CAP_PWRMGMT, &pmreg, 0)) {
-               command = cardbus_conf_read(cc, cf, csc->sc_tag, pmreg + 4);
-               if (command & RL_PSTATE_MASK) {
-                       pcireg_t                iobase, membase, irq;
-
-                       /* Save important PCI config data. */
-                       iobase = cardbus_conf_read(cc, cf, csc->sc_tag,
-                           RL_PCI_LOIO);
-                       membase = cardbus_conf_read(cc, cf,csc->sc_tag,
-                           RL_PCI_LOMEM);
-                       irq = cardbus_conf_read(cc, cf,csc->sc_tag,
-                           PCI_PRODUCT_DELTA_8139);
-
-                       /* Reset the power state. */
-                       printf("%s: chip is is in D%d power mode "
-                           "-- setting to D0\n", sc->sc_dev.dv_xname,
-                           command & RL_PSTATE_MASK);
-                       command &= 0xFFFFFFFC;
-                       cardbus_conf_write(cc, cf, csc->sc_tag,
-                           pmreg + 4, command);
-
-                       /* Restore PCI config data. */
-                       cardbus_conf_write(cc, cf, csc->sc_tag,
-                           RL_PCI_LOIO, iobase);
-                       cardbus_conf_write(cc, cf, csc->sc_tag,
-                           RL_PCI_LOMEM, membase);
-                       cardbus_conf_write(cc, cf, csc->sc_tag,
-                           PCI_PRODUCT_DELTA_8139, irq);
-               }
-       }
-       /*
-        * Map control/status registers.
-        */
-#ifdef RL_USEIOSPACE
-       if (Cardbus_mapreg_map(ct, RL_PCI_LOIO, CARDBUS_MAPREG_TYPE_IO, 0,
-           &sc->rl_btag, &sc->rl_bhandle, &adr, &csc->sc_mapsize) == 0) {
-#if rbus
-#else
-               (*ct->ct_cf->cardbus_io_open)(cc, 0, adr, adr+csc->sc_mapsize);
-#endif
-               csc->sc_cben = CARDBUS_IO_ENABLE;
-               csc->sc_csr |=
-                   (CARDBUS_COMMAND_IO_ENABLE|CARDBUS_COMMAND_MASTER_ENABLE);
-               csc->sc_bar_reg = RL_PCI_LOIO;
-               csc->sc_bar_val = adr | CARDBUS_MAPREG_TYPE_IO;
-       }
-#else
-       if (Cardbus_mapreg_map(ct, RL_PCI_LOMEM, CARDBUS_MAPREG_TYPE_MEM, 0,
-           &sc->rl_btag, &sc->rl_bhandle, &adr, &csc->sc_mapsize) == 0) {
-#if rbus
-#else
-               (*ct->ct_cf->cardbus_mem_open)(cc, 0, adr, adr+csc->sc_mapsize);
-#endif
-               csc->sc_cben = CARDBUS_MEM_ENABLE;
-               csc->sc_csr |=
-                   (CARDBUS_COMMAND_MEM_ENABLE|CARDBUS_COMMAND_MASTER_ENABLE);
-               csc->sc_bar_reg = RL_PCI_LOMEM;
-               csc->sc_bar_val = adr | CARDBUS_MAPREG_TYPE_MEM;
-       }
-#endif
-       else {
-               printf("%s: can't map i/o space\n", sc->sc_dev.dv_xname);
-               goto fail;
-       }
-       /* Make sure the right access type is on the CardBus bridge. */
-       (*ct->ct_cf->cardbus_ctrl)(cc, csc->sc_cben);
-       (*ct->ct_cf->cardbus_ctrl)(cc, CARDBUS_BM_ENABLE);
-
-       /* Program the BAR */
-       cardbus_conf_write(cc, cf, csc->sc_tag,
-               csc->sc_bar_reg, csc->sc_bar_val);
-
-       /* Enable the appropriate bits in the CARDBUS CSR. */
-       reg = cardbus_conf_read(cc, cf, csc->sc_tag, 
-           CARDBUS_COMMAND_STATUS_REG);
-       reg &= ~(CARDBUS_COMMAND_IO_ENABLE|CARDBUS_COMMAND_MEM_ENABLE);
-       reg |= csc->sc_csr;
-       cardbus_conf_write(cc, cf, csc->sc_tag, 
-           CARDBUS_COMMAND_STATUS_REG, reg);
-
-       /*
-        * Make sure the latency timer is set to some reasonable
-        * value.
-        */
-       reg = cardbus_conf_read(cc, cf, csc->sc_tag, CARDBUS_BHLC_REG);



Home | Main Index | Thread Index | Old Index