diff options
-rw-r--r-- | sys/dev/pci/if_xl.c | 30 | ||||
-rw-r--r-- | sys/dev/pci/if_xlreg.h | 11 |
2 files changed, 21 insertions, 20 deletions
diff --git a/sys/dev/pci/if_xl.c b/sys/dev/pci/if_xl.c index 0c0707355da..696b8e54863 100644 --- a/sys/dev/pci/if_xl.c +++ b/sys/dev/pci/if_xl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_xl.c,v 1.24 1999/05/07 21:24:33 jason Exp $ */ +/* $OpenBSD: if_xl.c,v 1.25 1999/06/29 17:14:35 jason Exp $ */ /* * Copyright (c) 1997, 1998 @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: if_xl.c,v 1.35 1999/05/04 20:52:30 wpaul Exp $ + * $FreeBSD: if_xl.c,v 1.40 1999/06/01 19:04:23 wpaul Exp $ */ /* @@ -51,6 +51,7 @@ * 3Com 3c900B-FL 10Mbps/Fiber-optic * 3Com 3c905B-TX 10/100Mbps/RJ-45 * 3Com 3c900-FL 10Mbps FL Fiber-optic + * 3Com 3c905C-TX 10/100Mbs/RJ45 * 3Com 3c980-TX 10/100Mbps server adapter * 3Com 3c905B-FX 100Mbs FX Fiber-optic * 3Com 3cSOHO100-TX 10/100Mbps/RJ-45 @@ -154,13 +155,6 @@ #include <pci/pcivar.h> #endif -#ifdef __OpenBSD__ -#ifdef __alpha__ -#undef vtophys -#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)(va)) -#endif -#endif - /* * The following #define causes the code to use PIO to access the * chip's registers instead of memory mapped mode. The reason PIO mode @@ -201,7 +195,7 @@ #if !defined(lint) && !defined(__OpenBSD__) static const char rcsid[] = - "$FreeBSD: if_xl.c,v 1.35 1999/05/04 20:52:30 wpaul Exp $"; + "$FreeBSD: if_xl.c,v 1.40 1999/06/01 19:04:23 wpaul Exp $"; #endif #ifdef __FreeBSD__ @@ -233,6 +227,8 @@ static struct xl_type xl_devs[] = { "3Com 3c905B-FX/SC Fast Etherlink XL" }, { TC_VENDORID, TC_DEVICEID_CYCLONE_10_100_COMBO, "3Com 3c905B-COMBO Fast Etherlink XL" }, + { TC_VENDORID, TC_DEVICEID_TORNADO_10_100BT, + "3Com 3c905C-TX Fast Etherlink XL" }, { TC_VENDORID, TC_DEVICEID_HURRICANE_10_100BT_SERV, "3Com 3c980 Fast Etherlink XL" }, { TC_VENDORID, TC_DEVICEID_HURRICANE_SOHO100TX, @@ -1409,7 +1405,8 @@ static void xl_mediacheck(sc) break; case TC_DEVICEID_HURRICANE_10_100BT: /* 3c905B-TX */ case TC_DEVICEID_HURRICANE_10_100BT_SERV:/* 3c980-TX */ - case TC_DEVICEID_HURRICANE_SOHO100TX: /* 3c980-TX */ + case TC_DEVICEID_HURRICANE_SOHO100TX: /* 3cSOHO100-TX */ + case TC_DEVICEID_TORNADO_10_100BT: /* 3c905C-TX */ sc->xl_media = XL_MEDIAOPT_BTX; sc->xl_xcvr = XL_XCVR_AUTO; printf("xl%d: guessing 10/100 internal\n", sc->xl_unit); @@ -1522,9 +1519,9 @@ xl_attach(config_id, unit) if (!pci_map_port(config_id, XL_PCI_LOIO, (u_short *)&(sc->xl_bhandle))) { printf ("xl%d: couldn't map port\n", unit); - printf ("xl%d: WARNING: this shouldn't happen! " - "Possible PCI support code bug!", unit); - printf ("xl%d: attempting to map iobase manually", unit); + printf ("xl%d: WARNING: check your BIOS and " + "set 'Plug & Play OS' to 'no'\n", unit); + printf ("xl%d: attempting to map iobase manually\n", unit); sc->xl_bhandle = pci_conf_read(config_id, XL_PCI_LOIO) & 0xFFFFFFE0; /*goto fail;*/ @@ -3014,11 +3011,7 @@ static struct pci_device xl_device = { &xl_count, NULL }; -#ifdef COMPAT_PCI_DRIVER COMPAT_PCI_DRIVER(xl, xl_device); -#else -DATA_SET(pcidevice_set, xl_device); -#endif /* COMPAT_PCI_DRIVER */ #endif #ifdef __OpenBSD__ @@ -3048,6 +3041,7 @@ xl_probe(parent, match, aux) case PCI_PRODUCT_3COM_3C905BCOMBO: case PCI_PRODUCT_3COM_3C905BFX: case PCI_PRODUCT_3COM_3C980TX: + case PCI_PRODUCT_3COM_3C905CTX: return (1); } diff --git a/sys/dev/pci/if_xlreg.h b/sys/dev/pci/if_xlreg.h index 96f198e96f4..88af27a9dde 100644 --- a/sys/dev/pci/if_xlreg.h +++ b/sys/dev/pci/if_xlreg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_xlreg.h,v 1.11 1999/05/07 21:24:34 jason Exp $ */ +/* $OpenBSD: if_xlreg.h,v 1.12 1999/06/29 17:14:36 jason Exp $ */ /* * Copyright (c) 1997, 1998 @@ -31,7 +31,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: if_xlreg.h,v 1.14 1999/04/30 16:15:43 wpaul Exp $ + * $FreeBSD: if_xlreg.h,v 1.17 1999/05/30 18:09:17 wpaul Exp $ */ #define XL_EE_READ 0x0080 /* read, 5 bit address */ @@ -559,6 +559,7 @@ struct xl_softc { u_int8_t xl_want_auto; u_int8_t xl_autoneg; u_int8_t xl_stats_no_timeout; + u_int16_t xl_tx_thresh; caddr_t xl_ldata_ptr; struct xl_list_data *xl_ldata; struct xl_chain_data xl_cdata; @@ -632,6 +633,7 @@ struct xl_stats { #define TC_DEVICEID_CYCLONE_10_100BT4 0x9056 #define TC_DEVICEID_CYCLONE_10_100_COMBO 0x9058 #define TC_DEVICEID_CYCLONE_10_100FX 0x905A +#define TC_DEVICEID_TORNADO_10_100BT 0x9200 #define TC_DEVICEID_HURRICANE_10_100BT_SERV 0x9800 #define TC_DEVICEID_HURRICANE_SOHO100TX 0x7646 @@ -816,3 +818,8 @@ struct xl_stats { #define PHY_BMSR_LINKSTAT 0x0004 #define PHY_BMSR_JABBER 0x0002 #define PHY_BMSR_EXTENDED 0x0001 + +#ifdef __alpha__ +#undef vtophys +#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)va) +#endif |