summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorChris Cappuccio <chris@cvs.openbsd.org>2000-04-26 19:12:09 +0000
committerChris Cappuccio <chris@cvs.openbsd.org>2000-04-26 19:12:09 +0000
commitdf44263382c56c3dfc2b9c21f78f778a6eb0274c (patch)
treec4208f89e812a0d161c03c6d70dd5b4d3e3c0d0f /sys/dev/pci
parentaecd207f2586795a74911914969e8ea149aeffd2 (diff)
Turn on a bit (for 82558/82559 only) which disables the chip's
builin feature to discard frames >1500 bytes (useful for jumbo frames, also 802.1Q VLANs) ok aaron@
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/if_fxp_pci.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/pci/if_fxp_pci.c b/sys/dev/pci/if_fxp_pci.c
index 61b4aa1d0fc..d4e730bfef8 100644
--- a/sys/dev/pci/if_fxp_pci.c
+++ b/sys/dev/pci/if_fxp_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_fxp_pci.c,v 1.1 2000/04/18 18:44:31 jason Exp $ */
+/* $OpenBSD: if_fxp_pci.c,v 1.2 2000/04/26 19:12:08 chris Exp $ */
/*
* Copyright (c) 1995, David Greenman
@@ -138,6 +138,7 @@ fxp_pci_attach(parent, self, aux)
bus_space_tag_t iot = pa->pa_iot;
bus_addr_t iobase;
bus_size_t iosize;
+ pcireg_t rev = PCI_REVISION(pa->pa_class);
if (pci_io_find(pc, pa->pa_tag, FXP_PCI_IOBA, &iobase, &iosize)) {
printf(": can't find i/o space\n");
@@ -170,6 +171,14 @@ fxp_pci_attach(parent, self, aux)
return;
}
+ /*
+ * revisions
+ * 2 = 82557
+ * 4, 6 = 82558
+ * 8 = 82559
+ */
+ sc->not_82557 = (rev >= 4) ? 1 : 0;
+
/* Do generic parts of attach. */
if (fxp_attach_common(sc, enaddr, intrstr)) {
/* Failed! */