Skip to content

Commit

Permalink
MFC 197591.
Browse files Browse the repository at this point in the history
  Add workaround for Yukon XL which has hardware bug that can't flush
  FIFO.
  • Loading branch information
yongari authored and yongari committed Nov 29, 2009
1 parent 2ba2cfc commit 952ae47
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions sys/dev/msk/if_msk.c
Expand Up @@ -3801,9 +3801,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
Expand Down

0 comments on commit 952ae47

Please sign in to comment.