diff options
author | bz <bz@FreeBSD.org> | 2008-05-05 18:42:17 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2008-05-05 18:42:17 +0000 |
commit | e8c33242a59704aa01f83bdd6f3ba4b6978ff210 (patch) | |
tree | 9f3f51f00e8cf94b0cb399d91ab4cebeeb4358a6 /sys/dev/bge/if_bgereg.h | |
parent | 3655ca8c3d6165930be8741365451929c47fd568 (diff) | |
download | FreeBSD-src-e8c33242a59704aa01f83bdd6f3ba4b6978ff210.zip FreeBSD-src-e8c33242a59704aa01f83bdd6f3ba4b6978ff210.tar.gz |
Use a better approach to force the interrupt which should work for
all cards/modes.
In addition to the intr forcing added with rev. 1.205 adopt the other
places to use the same logic.
We need to exclude a few chips/revisions (5700, 5788) from using the
enhanced version and fall back to the old way as that is the only
method they support.
Tested by: phk
Suggested by: davidch, Broadcom (thanks a lot for the help!)
MFC after: 16 days
Diffstat (limited to 'sys/dev/bge/if_bgereg.h')
-rw-r--r-- | sys/dev/bge/if_bgereg.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/bge/if_bgereg.h b/sys/dev/bge/if_bgereg.h index 01778d7..3a02ffd 100644 --- a/sys/dev/bge/if_bgereg.h +++ b/sys/dev/bge/if_bgereg.h @@ -1776,6 +1776,9 @@ /* Misc. config register */ #define BGE_MISCCFG_RESET_CORE_CLOCKS 0x00000001 #define BGE_MISCCFG_TIMER_PRESCALER 0x000000FE +#define BGE_MISCCFG_BOARD_ID 0x0001E000 +#define BGE_MISCCFG_BOARD_ID_5788 0x00010000 +#define BGE_MISCCFG_BOARD_ID_5788M 0x00018000 #define BGE_MISCCFG_EPHY_IDDQ 0x00200000 #define BGE_32BITTIME_66MHZ (0x41 << 1) @@ -2546,6 +2549,7 @@ struct bge_softc { #define BGE_FLAG_ADJUST_TRIM 0x04000000 #define BGE_FLAG_CRC_BUG 0x08000000 #define BGE_FLAG_NO_EEPROM 0x10000000 +#define BGE_FLAG_5788 0x20000000 uint32_t bge_chipid; uint8_t bge_asicrev; uint8_t bge_chiprev; |