Mercurial > illumos > illumos-gate
changeset 3170:ff80d4b3644b
6464581 assertion failed: bgep->bge_chip_state == BGE_CHIP_RESET
6480901 bge support for PCI ID 14e4,1654
6480903 bge support for PCI ID 14e4,1679
6487521 primary network does not come up after system resume from suspended state.
author | ml149210 |
---|---|
date | Sun, 26 Nov 2006 16:30:59 -0800 |
parents | 1dea14abfe17 |
children | 6a9918e92494 |
files | usr/src/pkgdefs/SUNWbge/postinstall usr/src/uts/common/io/bge/bge_chip2.c usr/src/uts/common/io/bge/bge_hw.h usr/src/uts/common/io/bge/bge_main2.c usr/src/uts/common/io/bge/bge_send.c |
diffstat | 5 files changed, 23 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/pkgdefs/SUNWbge/postinstall Sat Nov 25 11:05:17 2006 -0800 +++ b/usr/src/pkgdefs/SUNWbge/postinstall Sun Nov 26 16:30:59 2006 -0800 @@ -148,6 +148,7 @@ "pci14e4,16a8" "pci14e4,1649" "pci14e4,1653" + "pci14e4,1654" "pci14e4,1659" "pci14e4,165d" "pci14e4,165e" @@ -158,6 +159,7 @@ "pci14e4,169c" "pci14e4,1677" "pci14e4,1678" + "pci14e4,1679" "pci14e4,167d" "pciex14e4,169d"' \ -b "$BASEDIR" bge
--- a/usr/src/uts/common/io/bge/bge_chip2.c Sat Nov 25 11:05:17 2006 -0800 +++ b/usr/src/uts/common/io/bge/bge_chip2.c Sun Nov 26 16:30:59 2006 -0800 @@ -1824,6 +1824,7 @@ case DEVICE_ID_5704: case DEVICE_ID_5705M: case DEVICE_ID_5705C: + case DEVICE_ID_5705_2: case DEVICE_ID_5706: case DEVICE_ID_5782: case DEVICE_ID_5788: @@ -1836,6 +1837,7 @@ case DEVICE_ID_5714C: case DEVICE_ID_5714S: case DEVICE_ID_5715C: + case DEVICE_ID_5715S: config1 = bge_reg_get32(bgep, NVM_CONFIG1_REG); if (config1 & NVM_CFG1_FLASH_MODE) if (config1 & NVM_CFG1_BUFFERED_MODE) @@ -1999,6 +2001,7 @@ case DEVICE_ID_5705M: case DEVICE_ID_5705MA3: case DEVICE_ID_5705F: + case DEVICE_ID_5705_2: cidp->chip_label = 5705; cidp->mbuf_lo_water_rdma = RDMA_MBUF_LOWAT_5705; cidp->mbuf_lo_water_rmac = MAC_RX_MBUF_LOWAT_5705; @@ -2079,6 +2082,7 @@ break; case DEVICE_ID_5715C: + case DEVICE_ID_5715S: cidp->chip_label = 5715; cidp->mbuf_lo_water_rdma = RDMA_MBUF_LOWAT_5705; cidp->mbuf_lo_water_rmac = MAC_RX_MBUF_LOWAT_5705; @@ -3189,7 +3193,7 @@ if (sx0 != 0) { BGE_REPORT((bgep, "SEND INDEX - device didn't RESET")); bge_fm_ereport(bgep, DDI_FM_DEVICE_INVAL_STATE); - return (DDI_FAILURE); + retval = DDI_FAILURE; } /* Enable MSI code */
--- a/usr/src/uts/common/io/bge/bge_hw.h Sat Nov 25 11:05:17 2006 -0800 +++ b/usr/src/uts/common/io/bge/bge_hw.h Sun Nov 26 16:30:59 2006 -0800 @@ -65,6 +65,7 @@ #define DEVICE_ID_5704S 0x16a8 #define DEVICE_ID_5704 0x1649 #define DEVICE_ID_5705C 0x1653 +#define DEVICE_ID_5705_2 0x1654 #define DEVICE_ID_5705M 0x165d #define DEVICE_ID_5705MA3 0x165e #define DEVICE_ID_5705F 0x166e @@ -80,6 +81,7 @@ #define DEVICE_ID_5714C 0x1668 #define DEVICE_ID_5714S 0x1669 #define DEVICE_ID_5715C 0x1678 +#define DEVICE_ID_5715S 0x1679 #define REVISION_ID_5700_B0 0x10 #define REVISION_ID_5700_B2 0x12 @@ -124,6 +126,9 @@ #define REVISION_ID_5715_A1 0x01 #define REVISION_ID_5715_A2 0xA2 +#define REVISION_ID_5715S_A0 0x00 +#define REVISION_ID_5715S_A1 0x01 + #define DEVICE_5704_SERIES_CHIPSETS(bgep)\ ((bgep->chipid.device == DEVICE_ID_5700) ||\ (bgep->chipid.device == DEVICE_ID_5701) ||\ @@ -146,7 +151,8 @@ (bgep->chipid.device == DEVICE_ID_5705MA3) ||\ (bgep->chipid.device == DEVICE_ID_5705F) ||\ (bgep->chipid.device == DEVICE_ID_5782) ||\ - (bgep->chipid.device == DEVICE_ID_5788)) + (bgep->chipid.device == DEVICE_ID_5788) ||\ + (bgep->chipid.device == DEVICE_ID_5705_2)) #define DEVICE_5721_SERIES_CHIPSETS(bgep) \ ((bgep->chipid.device == DEVICE_ID_5721) ||\ @@ -159,7 +165,8 @@ #define DEVICE_5714_SERIES_CHIPSETS(bgep) \ ((bgep->chipid.device == DEVICE_ID_5714C) ||\ (bgep->chipid.device == DEVICE_ID_5714S) ||\ - (bgep->chipid.device == DEVICE_ID_5715C)) + (bgep->chipid.device == DEVICE_ID_5715C) ||\ + (bgep->chipid.device == DEVICE_ID_5715S)) /* * Second section: @@ -239,6 +246,9 @@ #define MHCR_CHIP_REV_5715_A0 0x50000000 #define MHCR_CHIP_REV_5715_A1 0x90010000 +#define MHCR_CHIP_REV_5715S_A0 0x50000000 +#define MHCR_CHIP_REV_5715S_A1 0x90010000 + #define MHCR_CHIP_ASIC_REV(ChipRevId) ((ChipRevId) & 0xf0000000) #define MHCR_CHIP_ASIC_REV_5700 (0x7 << 28) #define MHCR_CHIP_ASIC_REV_5701 (0x0 << 28)
--- a/usr/src/uts/common/io/bge/bge_main2.c Sat Nov 25 11:05:17 2006 -0800 +++ b/usr/src/uts/common/io/bge/bge_main2.c Sun Nov 26 16:30:59 2006 -0800 @@ -33,7 +33,7 @@ * This is the string displayed by modinfo, etc. * Make sure you keep the version ID up to date! */ -static char bge_ident[] = "Broadcom Gb Ethernet v0.52"; +static char bge_ident[] = "Broadcom Gb Ethernet v0.53"; /* * Property names
--- a/usr/src/uts/common/io/bge/bge_send.c Sat Nov 25 11:05:17 2006 -0800 +++ b/usr/src/uts/common/io/bge/bge_send.c Sun Nov 26 16:30:59 2006 -0800 @@ -532,12 +532,13 @@ ASSERT(mp != NULL); ASSERT(bgep->bge_mac_state == BGE_MAC_STARTED); + rw_enter(bgep->errlock, RW_READER); if (bgep->bge_chip_state != BGE_CHIP_RUNNING) { BGE_DEBUG(("bge_m_tx: chip not running")); - return (mp); + freemsgchain(mp); + mp = NULL; } - rw_enter(bgep->errlock, RW_READER); while (mp != NULL) { next = mp->b_next; mp->b_next = NULL;