From 62a9464c76ab9061006af9348348df9e4096084d Mon Sep 17 00:00:00 2001 From: Duncan Barclay Date: Sun, 23 May 2004 08:35:07 +0000 Subject: [PATCH] Apply fix for long timeouts on driver initialisation. PR: 64656 Submitted by: Jianqin Qu Reviewed by: dmlb --- sys/dev/bfe/if_bfe.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c index 42491ea85af5..764480cd08b1 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); }