summaryrefslogtreecommitdiffstats
path: root/sys/dev/bfe
diff options
context:
space:
mode:
authordmlb <dmlb@FreeBSD.org>2004-05-23 08:35:07 +0000
committerdmlb <dmlb@FreeBSD.org>2004-05-23 08:35:07 +0000
commit267a015bdcc32708e6de16086c6b70afabab6c6d (patch)
treec69ec1510b56e3bc1162fc5959cad87362d33a65 /sys/dev/bfe
parent77afef34dee6d1317151f83a1afe75d20a7f9d2e (diff)
downloadFreeBSD-src-267a015bdcc32708e6de16086c6b70afabab6c6d.zip
FreeBSD-src-267a015bdcc32708e6de16086c6b70afabab6c6d.tar.gz
Apply fix for long timeouts on driver initialisation.
PR: 64656 Submitted by: Jianqin Qu <jqu@its.brooklyn.cuny.edu> Reviewed by: dmlb
Diffstat (limited to 'sys/dev/bfe')
-rw-r--r--sys/dev/bfe/if_bfe.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c
index 42491ea..764480c 100644
--- a/sys/dev/bfe/if_bfe.c
+++ b/sys/dev/bfe/if_bfe.c
@@ -758,7 +758,12 @@ bfe_chip_reset(struct bfe_softc *sc)
DELAY(100);
}
- BFE_OR(sc, BFE_MAC_CTRL, BFE_CTRL_CRC32_ENAB);
+ /* Enable CRC32 generation and set proper LED modes */
+ BFE_OR(sc, BFE_MAC_CTRL, BFE_CTRL_CRC32_ENAB | BFE_CTRL_LED);
+
+ /* Reset or clear powerdown control bit */
+ BFE_AND(sc, BFE_MAC_CTRL, ~BFE_CTRL_PDOWN);
+
CSR_WRITE_4(sc, BFE_RCV_LAZY, ((1 << BFE_LAZY_FC_SHIFT) &
BFE_LAZY_FC_MASK));
@@ -860,7 +865,7 @@ bfe_cam_write(struct bfe_softc *sc, u_char *data, int index)
(((u_int32_t) data[1])));
CSR_WRITE_4(sc, BFE_CAM_DATA_HI, val);
CSR_WRITE_4(sc, BFE_CAM_CTRL, (BFE_CAM_WRITE |
- (index << BFE_CAM_INDEX_SHIFT)));
+ ((u_int32_t) index << BFE_CAM_INDEX_SHIFT)));
bfe_wait_bit(sc, BFE_CAM_CTRL, BFE_CAM_BUSY, 10000, 1);
}
OpenPOWER on IntegriCloud