summaryrefslogtreecommitdiffstats
path: root/sys/dev/bge
diff options
context:
space:
mode:
authorambrisko <ambrisko@FreeBSD.org>2003-08-20 04:06:00 +0000
committerambrisko <ambrisko@FreeBSD.org>2003-08-20 04:06:00 +0000
commit97a4ea7a3022fe2ffa45c60bc361bf7772bd70bf (patch)
tree07ff3c6f20458d1dc57066d11a29eeb3b9c38cdb /sys/dev/bge
parentfa13e39cc0a599ab89c270598fb7818852f9dea7 (diff)
downloadFreeBSD-src-97a4ea7a3022fe2ffa45c60bc361bf7772bd70bf.zip
FreeBSD-src-97a4ea7a3022fe2ffa45c60bc361bf7772bd70bf.tar.gz
On Dell boxes such as the PE2650 we need to disable 3 led mode for the
link LED to work. Reviewed by: wpaul Obtained from: Linux driver
Diffstat (limited to 'sys/dev/bge')
-rw-r--r--sys/dev/bge/if_bge.c2
-rw-r--r--sys/dev/bge/if_bgereg.h7
2 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 928fe3c..838ba2b 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -1736,6 +1736,8 @@ bge_probe(dev)
"%s, ASIC rev. %#04x", t->bge_name,
pci_read_config(dev, BGE_PCI_MISC_CTL, 4) >> 16);
device_set_desc_copy(dev, descbuf);
+ if (pci_get_subvendor(dev) == DELL_VENDORID)
+ sc->bge_no_3_led = 1;
free(descbuf, M_TEMP);
return(0);
}
diff --git a/sys/dev/bge/if_bgereg.h b/sys/dev/bge/if_bgereg.h
index 330fb50..53f22c7 100644
--- a/sys/dev/bge/if_bgereg.h
+++ b/sys/dev/bge/if_bgereg.h
@@ -1857,6 +1857,12 @@ struct bge_status_block {
#define ALTIMA_DEVICE_AC9100 0x03ea
/*
+ * Dell PCI vendor ID
+ */
+
+#define DELL_VENDORID 0x1028
+
+/*
* Offset of MAC address inside EEPROM.
*/
#define BGE_EE_MAC_OFFSET 0x7C
@@ -2267,6 +2273,7 @@ struct bge_softc {
u_int32_t bge_chipid;
u_int8_t bge_asicrev;
u_int8_t bge_chiprev;
+ u_int8_t bge_no_3_led;
struct bge_ring_data bge_ldata; /* rings */
struct bge_chain_data bge_cdata; /* mbufs */
u_int16_t bge_tx_saved_considx;
OpenPOWER on IntegriCloud