Module Name: src
Committed By: tsutsui
Date: Thu Apr 16 12:41:51 UTC 2009
Modified Files:
src/sys/dev/pci: if_fxp_pci.c
Log Message:
There is a report that 82559ER doesn't have RX hardware checksum support
(even though it has a newer revision number than 82559_A0),
so handle it separately per its own PCI device ID.
To generate a diff of this commit:
cvs rdiff -u -r1.67 -r1.68 src/sys/dev/pci/if_fxp_pci.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_fxp_pci.c
diff -u src/sys/dev/pci/if_fxp_pci.c:1.67 src/sys/dev/pci/if_fxp_pci.c:1.68
--- src/sys/dev/pci/if_fxp_pci.c:1.67 Thu Mar 19 15:28:04 2009
+++ src/sys/dev/pci/if_fxp_pci.c Thu Apr 16 12:41:51 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_fxp_pci.c,v 1.67 2009/03/19 15:28:04 tsutsui Exp $ */
+/* $NetBSD: if_fxp_pci.c,v 1.68 2009/04/16 12:41:51 tsutsui Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_fxp_pci.c,v 1.67 2009/03/19 15:28:04 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_fxp_pci.c,v 1.68 2009/04/16 12:41:51 tsutsui Exp $");
#include "rnd.h"
@@ -328,7 +328,6 @@
switch (fpp->fpp_prodid) {
case PCI_PRODUCT_INTEL_82557:
- case PCI_PRODUCT_INTEL_82559ER:
case PCI_PRODUCT_INTEL_IN_BUSINESS:
{
const char *chipname = NULL;
@@ -366,6 +365,24 @@
break;
}
+ case PCI_PRODUCT_INTEL_82559ER:
+ sc->sc_flags |= FXPF_FC|FXPF_EXT_TXCB;
+
+ /*
+ * i82559ER doesn't support RX hardware checksumming
+ * even though it has a newer revision number than 82559_A0.
+ */
+
+ /* All i82559 have the "resume bug". */
+ sc->sc_flags |= FXPF_HAS_RESUME_BUG;
+
+ /* Enable the MWI command for memory writes. */
+ if (pa->pa_flags & PCI_FLAGS_MWI_OKAY)
+ sc->sc_flags |= FXPF_MWI;
+
+ aprint_normal(": %s, rev %d\n", fpp->fpp_name, sc->sc_rev);
+ break;
+
case PCI_PRODUCT_INTEL_82801BA_LAN:
case PCI_PRODUCT_INTEL_PRO_100_VE_0:
case PCI_PRODUCT_INTEL_PRO_100_VE_1: