mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-24 11:29:10 +00:00
Broadcom says BCM5755 or higher and BCM5906 have short DMA bug.
Apply workaround to these controllers.
This commit is contained in:
parent
d462212405
commit
d9820cd85e
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=226806
@ -2828,7 +2828,6 @@ bge_attach(device_t dev)
|
||||
switch (sc->bge_asicrev) {
|
||||
case BGE_ASICREV_BCM5717:
|
||||
case BGE_ASICREV_BCM5719:
|
||||
sc->bge_flags |= BGE_FLAG_SHORT_DMA_BUG;
|
||||
case BGE_ASICREV_BCM57765:
|
||||
sc->bge_flags |= BGE_FLAG_5717_PLUS | BGE_FLAG_5755_PLUS |
|
||||
BGE_FLAG_575X_PLUS | BGE_FLAG_5705_PLUS | BGE_FLAG_JUMBO |
|
||||
@ -2863,8 +2862,6 @@ bge_attach(device_t dev)
|
||||
case BGE_ASICREV_BCM5752:
|
||||
case BGE_ASICREV_BCM5906:
|
||||
sc->bge_flags |= BGE_FLAG_575X_PLUS;
|
||||
if (sc->bge_asicrev == BGE_ASICREV_BCM5906)
|
||||
sc->bge_flags |= BGE_FLAG_SHORT_DMA_BUG;
|
||||
/* FALLTHROUGH */
|
||||
case BGE_ASICREV_BCM5705:
|
||||
sc->bge_flags |= BGE_FLAG_5705_PLUS;
|
||||
@ -2926,6 +2923,10 @@ bge_attach(device_t dev)
|
||||
*/
|
||||
sc->bge_flags |= BGE_FLAG_4G_BNDRY_BUG;
|
||||
|
||||
/* BCM5755 or higher and BCM5906 have short DMA bug. */
|
||||
if (BGE_IS_5755_PLUS(sc) || sc->bge_asicrev == BGE_ASICREV_BCM5906)
|
||||
sc->bge_flags |= BGE_FLAG_SHORT_DMA_BUG;
|
||||
|
||||
misccfg = CSR_READ_4(sc, BGE_MISC_CFG) & BGE_MISCCFG_BOARD_ID;
|
||||
if (sc->bge_asicrev == BGE_ASICREV_BCM5705) {
|
||||
if (misccfg == BGE_MISCCFG_BOARD_ID_5788 ||
|
||||
|
Loading…
Reference in New Issue
Block a user