summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2008-10-01 00:17:54 +0000
committeryongari <yongari@FreeBSD.org>2008-10-01 00:17:54 +0000
commit26119416f8ff79b970f64afeae70fca27dd5e158 (patch)
treef02e5bff2e6f6638222ca9af9a5d8cec056ae14c /sys
parent0eeeb52deea21339cde829755893d1f7fa18a456 (diff)
downloadFreeBSD-src-26119416f8ff79b970f64afeae70fca27dd5e158.zip
FreeBSD-src-26119416f8ff79b970f64afeae70fca27dd5e158.tar.gz
Add device ids for MCP77/79 and set appropriate support flags.
Obtained from: OpenBSD PR: kern/127529
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/nfe/if_nfe.c32
-rw-r--r--sys/dev/nfe/if_nfereg.h8
2 files changed, 40 insertions, 0 deletions
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c
index 5c340d3..51b8251 100644
--- a/sys/dev/nfe/if_nfe.c
+++ b/sys/dev/nfe/if_nfe.c
@@ -245,6 +245,22 @@ static struct nfe_type nfe_devs[] = {
"NVIDIA nForce MCP73 Networking Adapter"},
{PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP73_LAN4,
"NVIDIA nForce MCP73 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_LAN1,
+ "NVIDIA nForce MCP77 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_LAN2,
+ "NVIDIA nForce MCP77 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_LAN3,
+ "NVIDIA nForce MCP77 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_LAN4,
+ "NVIDIA nForce MCP77 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP79_LAN1,
+ "NVIDIA nForce MCP79 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP79_LAN2,
+ "NVIDIA nForce MCP79 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP79_LAN3,
+ "NVIDIA nForce MCP79 Networking Adapter"},
+ {PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP79_LAN4,
+ "NVIDIA nForce MCP79 Networking Adapter"},
{0, 0, NULL}
};
@@ -467,6 +483,22 @@ nfe_attach(device_t dev)
sc->nfe_flags |= NFE_40BIT_ADDR | NFE_PWR_MGMT |
NFE_CORRECT_MACADDR | NFE_TX_FLOW_CTRL;
break;
+ case PCI_PRODUCT_NVIDIA_MCP77_LAN1:
+ case PCI_PRODUCT_NVIDIA_MCP77_LAN2:
+ case PCI_PRODUCT_NVIDIA_MCP77_LAN3:
+ case PCI_PRODUCT_NVIDIA_MCP77_LAN4:
+ /* XXX flow control */
+ sc->nfe_flags |= NFE_40BIT_ADDR | NFE_HW_CSUM | NFE_PWR_MGMT |
+ NFE_CORRECT_MACADDR;
+ break;
+ case PCI_PRODUCT_NVIDIA_MCP79_LAN1:
+ case PCI_PRODUCT_NVIDIA_MCP79_LAN2:
+ case PCI_PRODUCT_NVIDIA_MCP79_LAN3:
+ case PCI_PRODUCT_NVIDIA_MCP79_LAN4:
+ /* XXX flow control */
+ sc->nfe_flags |= NFE_JUMBO_SUP | NFE_40BIT_ADDR | NFE_HW_CSUM |
+ NFE_PWR_MGMT | NFE_CORRECT_MACADDR;
+ break;
case PCI_PRODUCT_NVIDIA_MCP65_LAN1:
case PCI_PRODUCT_NVIDIA_MCP65_LAN2:
case PCI_PRODUCT_NVIDIA_MCP65_LAN3:
diff --git a/sys/dev/nfe/if_nfereg.h b/sys/dev/nfe/if_nfereg.h
index 093b379..01cc01d 100644
--- a/sys/dev/nfe/if_nfereg.h
+++ b/sys/dev/nfe/if_nfereg.h
@@ -295,6 +295,14 @@ struct nfe_desc64 {
#define PCI_PRODUCT_NVIDIA_MCP73_LAN2 0x07dd
#define PCI_PRODUCT_NVIDIA_MCP73_LAN3 0x07de
#define PCI_PRODUCT_NVIDIA_MCP73_LAN4 0x07df
+#define PCI_PRODUCT_NVIDIA_MCP77_LAN1 0x0760
+#define PCI_PRODUCT_NVIDIA_MCP77_LAN2 0x0761
+#define PCI_PRODUCT_NVIDIA_MCP77_LAN3 0x0762
+#define PCI_PRODUCT_NVIDIA_MCP77_LAN4 0x0763
+#define PCI_PRODUCT_NVIDIA_MCP79_LAN1 0x0ab0
+#define PCI_PRODUCT_NVIDIA_MCP79_LAN2 0x0ab1
+#define PCI_PRODUCT_NVIDIA_MCP79_LAN3 0x0ab2
+#define PCI_PRODUCT_NVIDIA_MCP79_LAN4 0x0ab3
#define PCI_PRODUCT_NVIDIA_NFORCE3_LAN2 PCI_PRODUCT_NVIDIA_NFORCE2_400_LAN1
#define PCI_PRODUCT_NVIDIA_NFORCE3_LAN3 PCI_PRODUCT_NVIDIA_NFORCE2_400_LAN2
OpenPOWER on IntegriCloud