svn commit: r197591 - head/sys/dev/msk
Pyun YongHyeon
yongari at FreeBSD.org
Mon Sep 28 21:07:19 UTC 2009
Author: yongari
Date: Mon Sep 28 21:07:19 2009
New Revision: 197591
URL: http://svn.freebsd.org/changeset/base/197591
Log:
Add workaround for Yukon XL which has hardware bug that can't flush
FIFO.
Modified:
head/sys/dev/msk/if_msk.c
Modified: head/sys/dev/msk/if_msk.c
==============================================================================
--- head/sys/dev/msk/if_msk.c Mon Sep 28 21:03:28 2009 (r197590)
+++ head/sys/dev/msk/if_msk.c Mon Sep 28 21:07:19 2009 (r197591)
@@ -3799,9 +3799,14 @@ msk_init_locked(struct msk_if_softc *sc_
/* 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
More information about the svn-src-head
mailing list