Mercurial > illumos > illumos-gate
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) ||\