changeset 12866:d1953f8e5b5f

6937229 Solaris needs to support BCM5717 and BCM5724 6924157 Solaris need supports for Broadcom BCM57780 (pciex14e4,1692)
author yong tan - Sun Microsystems - Beijing China <Yong.Tan@Sun.COM>
date Mon, 19 Jul 2010 13:49:46 +0800
parents 636a63adb7b9
children 78110b63b535
files usr/src/pkg/manifests/driver-network-bge.mf usr/src/uts/common/io/bge/bge_chip2.c usr/src/uts/common/io/bge/bge_hw.h
diffstat 3 files changed, 28 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/pkg/manifests/driver-network-bge.mf	Mon Jul 19 11:06:32 2010 +0800
+++ b/usr/src/pkg/manifests/driver-network-bge.mf	Mon Jul 19 13:49:46 2010 +0800
@@ -75,9 +75,11 @@
     alias=pci14e4,16a7 \
     alias=pci14e4,16a8 \
     alias=pci14e4,16c7 \
+    alias=pciex14e4,1655 \
     alias=pciex14e4,1656 \
     alias=pciex14e4,165a \
     alias=pciex14e4,165b \
+    alias=pciex14e4,165c \
     alias=pciex14e4,1673 \
     alias=pciex14e4,1674 \
     alias=pciex14e4,1677 \
@@ -86,6 +88,7 @@
     alias=pciex14e4,1680 \
     alias=pciex14e4,1681 \
     alias=pciex14e4,1684 \
+    alias=pciex14e4,1692 \
     alias=pciex14e4,169d \
     alias=pciex14e4,16fd \
     alias=pciex14e4,1713
@@ -108,10 +111,12 @@
     alias=pci14e4,16a7 \
     alias=pci14e4,16a8 \
     alias=pci14e4,16c7 \
+    alias=pciex14e4,1655 \
     alias=pciex14e4,1656 \
     alias=pciex14e4,1659 \
     alias=pciex14e4,165a \
     alias=pciex14e4,165b \
+    alias=pciex14e4,165c \
     alias=pciex14e4,1677 \
     alias=pciex14e4,167a \
     alias=pciex14e4,167b
--- a/usr/src/uts/common/io/bge/bge_chip2.c	Mon Jul 19 11:06:32 2010 +0800
+++ b/usr/src/uts/common/io/bge/bge_chip2.c	Mon Jul 19 13:49:46 2010 +0800
@@ -1890,7 +1890,10 @@
 	case DEVICE_ID_5705M:
 	case DEVICE_ID_5705C:
 	case DEVICE_ID_5705_2:
+	case DEVICE_ID_5717:
 	case DEVICE_ID_5718:
+	case DEVICE_ID_5724:
+	case DEVICE_ID_57780:
 	case DEVICE_ID_5780:
 	case DEVICE_ID_5782:
 	case DEVICE_ID_5785:
@@ -2017,8 +2020,15 @@
 	cidp->msi_enabled = B_FALSE;
 
 	switch (cidp->device) {
+	case DEVICE_ID_5717:
 	case DEVICE_ID_5718:
-		cidp->chip_label = 5718;
+	case DEVICE_ID_5724:
+		if (cidp->device == DEVICE_ID_5717)
+			cidp->chip_label = 5717;
+		else if (cidp->device == DEVICE_ID_5718)
+			cidp->chip_label = 5718;
+		else
+			cidp->chip_label = 5724;
 		cidp->msi_enabled = bge_enable_msi;
 #ifdef __sparc
 		cidp->mask_pci_int = LE_32(MHCR_MASK_PCI_INT_OUTPUT);
@@ -2206,6 +2216,7 @@
 	case DEVICE_ID_5723:
 	case DEVICE_ID_5761:
 	case DEVICE_ID_5761E:
+	case DEVICE_ID_57780:
 		cidp->msi_enabled = bge_enable_msi;
 		/*
 		 * We don't use MSI for BCM5764 and BCM5785, as the
@@ -2221,6 +2232,8 @@
 			cidp->chip_label = 5764;
 		else if (cidp->device == DEVICE_ID_5785)
 			cidp->chip_label = 5785;
+		else if (cidp->device == DEVICE_ID_57780)
+			cidp->chip_label = 57780;
 		else
 			cidp->chip_label = 5761;
 		cidp->bge_dma_rwctrl = bge_dma_rwctrl_5721;
--- a/usr/src/uts/common/io/bge/bge_hw.h	Mon Jul 19 11:06:32 2010 +0800
+++ b/usr/src/uts/common/io/bge/bge_hw.h	Mon Jul 19 13:49:46 2010 +0800
@@ -20,8 +20,7 @@
  */
 
 /*
- * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #ifndef _BGE_HW_H
@@ -64,7 +63,9 @@
 #define	DEVICE_ID_5704			0x1649
 #define	DEVICE_ID_5705C			0x1653
 #define	DEVICE_ID_5705_2		0x1654
+#define	DEVICE_ID_5717			0x1655
 #define	DEVICE_ID_5718			0x1656
+#define	DEVICE_ID_5724			0x165c
 #define	DEVICE_ID_5705M			0x165d
 #define	DEVICE_ID_5705MA3		0x165e
 #define	DEVICE_ID_5705F			0x166e
@@ -96,6 +97,7 @@
 #define	DEVICE_ID_5764			0x1684
 #define	DEVICE_ID_5906			0x1712
 #define	DEVICE_ID_5906M			0x1713
+#define	DEVICE_ID_57780			0x1692
 
 #define	REVISION_ID_5700_B0		0x10
 #define	REVISION_ID_5700_B2		0x12
@@ -185,14 +187,17 @@
 		(bgep->chipid.device == DEVICE_ID_5789))
 
 #define	DEVICE_5717_SERIES_CHIPSETS(bgep) \
-		(bgep->chipid.device == DEVICE_ID_5718)
+		(bgep->chipid.device == DEVICE_ID_5717) ||\
+		(bgep->chipid.device == DEVICE_ID_5718) ||\
+		(bgep->chipid.device == DEVICE_ID_5724)
 
 #define	DEVICE_5723_SERIES_CHIPSETS(bgep) \
 		((bgep->chipid.device == DEVICE_ID_5723) ||\
 		(bgep->chipid.device == DEVICE_ID_5761) ||\
 		(bgep->chipid.device == DEVICE_ID_5761E) ||\
 		(bgep->chipid.device == DEVICE_ID_5764) ||\
-		(bgep->chipid.device == DEVICE_ID_5785))
+		(bgep->chipid.device == DEVICE_ID_5785) ||\
+		(bgep->chipid.device == DEVICE_ID_57780))
 
 #define	DEVICE_5714_SERIES_CHIPSETS(bgep) \
 		((bgep->chipid.device == DEVICE_ID_5714C) ||\