diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-03-19 02:27:41 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2007-03-19 02:27:41 +0000 |
commit | 16bd16fa930635ce3f536fd1bad24fa8d840a117 (patch) | |
tree | 5931e16a912c4cc71e0e103ab4718306d5cb1727 /sys | |
parent | 7f9d71d82de2e0eb6b9b13a1562f1b5ef333d3db (diff) |
Fix some code relative to chips that don't currently work (BCM5722 &
BCM5756). They still don't work but when they do they won't use an
inappropriate Jitter bug workaround. No effect on other chips.
From Michael Chan of Broadcom, via Linux tg3 via Brad.
ok reyk@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_bge.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/pci/if_bge.c b/sys/dev/pci/if_bge.c index b600fd154b7..097a08ebeb3 100644 --- a/sys/dev/pci/if_bge.c +++ b/sys/dev/pci/if_bge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_bge.c,v 1.207 2007/02/16 01:25:50 krw Exp $ */ +/* $OpenBSD: if_bge.c,v 1.208 2007/03/19 02:27:40 krw Exp $ */ /* * Copyright (c) 2001 Wind River Systems @@ -1844,11 +1844,13 @@ bge_attach(struct device *parent, struct device *self, void *aux) if (BGE_IS_5705_OR_BEYOND(sc)) { if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5755 || - BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5787) - sc->bge_flags |= BGE_PHY_JITTER_BUG; + BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5787) { + if (PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_BROADCOM_BCM5722 && + PCI_PRODUCT(pa->pa_id) != PCI_PRODUCT_BROADCOM_BCM5756) + sc->bge_flags |= BGE_PHY_JITTER_BUG; if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_BROADCOM_BCM5755M) sc->bge_flags |= BGE_PHY_ADJUST_TRIM; - else if (BGE_ASICREV(sc->bge_chipid) != BGE_ASICREV_BCM5906) + } else if (BGE_ASICREV(sc->bge_chipid) != BGE_ASICREV_BCM5906) sc->bge_flags |= BGE_PHY_BER_BUG; } |