1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00

Add workaround for Yukon XL which has hardware bug that can't flush

FIFO.
This commit is contained in:
Pyun YongHyeon 2009-09-28 21:07:19 +00:00
parent fcb62a8b01
commit cde64af338
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=197591

View File

@ -3799,9 +3799,14 @@ msk_init_locked(struct msk_if_softc *sc_if)
/* Set receive filter. */
msk_rxfilter(sc_if);
/* Flush Rx MAC FIFO on any flow control or error. */
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK),
GMR_FS_ANY_ERR);
if (sc->msk_hw_id == CHIP_ID_YUKON_XL) {
/* Clear flush mask - HW bug. */
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK), 0);
} else {
/* Flush Rx MAC FIFO on any flow control or error. */
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK),
GMR_FS_ANY_ERR);
}
/*
* Set Rx FIFO flush threshold to 64 bytes + 1 FIFO word