sfxge(4): add efsys option for Medford2

Submitted by:   Andy Moreton <amoreton at solarflare.com>
Sponsored by:   Solarflare Communications, Inc.
Differential Revision:  https://reviews.freebsd.org/D18140
This commit is contained in:
Andrew Rybchenko 2018-11-27 12:13:54 +00:00
parent e995da72bb
commit 97ce60b7d6
2 changed files with 58 additions and 40 deletions

View File

@ -241,6 +241,7 @@ sfxge_map_mbuf_fast(bus_dma_tag_t tag, bus_dmamap_t map,
#define EFSYS_OPT_SIENA 1
#define EFSYS_OPT_HUNTINGTON 1
#define EFSYS_OPT_MEDFORD 1
#define EFSYS_OPT_MEDFORD2 0
#ifdef DEBUG
#define EFSYS_OPT_CHECK_REG 1
#else

View File

@ -56,8 +56,9 @@
/* Verify chip implements accessed registers */
#if EFSYS_OPT_CHECK_REG
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "CHECK_REG requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "CHECK_REG requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_CHECK_REG */
@ -70,15 +71,17 @@
/* Support diagnostic hardware tests */
#if EFSYS_OPT_DIAG
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "DIAG requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "DIAG requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_DIAG */
/* Support optimized EVQ data access */
#if EFSYS_OPT_EV_PREFETCH
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "EV_PREFETCH requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "EV_PREFETCH requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_EV_PREFETCH */
@ -88,21 +91,23 @@
/* Support hardware packet filters */
#if EFSYS_OPT_FILTER
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "FILTER requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "FILTER requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_FILTER */
#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# if !EFSYS_OPT_FILTER
# error "HUNTINGTON or MEDFORD requires FILTER"
# error "HUNTINGTON or MEDFORD or MEDFORD2 requires FILTER"
# endif
#endif /* EFSYS_OPT_HUNTINGTON */
/* Support hardware loopback modes */
#if EFSYS_OPT_LOOPBACK
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "LOOPBACK requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "LOOPBACK requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_LOOPBACK */
@ -116,21 +121,24 @@
/* Support MAC statistics */
#if EFSYS_OPT_MAC_STATS
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "MAC_STATS requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "MAC_STATS requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_MAC_STATS */
/* Support management controller messages */
#if EFSYS_OPT_MCDI
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "MCDI requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "MCDI requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_MCDI */
#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# if !EFSYS_OPT_MCDI
# error "SIENA or HUNTINGTON or MEDFORD requires MCDI"
# error "SIENA or HUNTINGTON or MEDFORD or MEDFORD2 requires MCDI"
# endif
#endif
@ -170,15 +178,17 @@
/* Support monitor statistics (voltage/temperature) */
#if EFSYS_OPT_MON_STATS
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "MON_STATS requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "MON_STATS requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_MON_STATS */
/* Support Monitor via mcdi */
#if EFSYS_OPT_MON_MCDI
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_MON_MCDI*/
@ -192,8 +202,9 @@
/* Support non volatile configuration */
#if EFSYS_OPT_NVRAM
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "NVRAM requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "NVRAM requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_NVRAM */
@ -226,8 +237,9 @@
/* Support for PHY LED control */
#if EFSYS_OPT_PHY_LED_CONTROL
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "PHY_LED_CONTROL requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "PHY_LED_CONTROL requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_PHY_LED_CONTROL */
@ -272,8 +284,9 @@
/* Support EVQ/RXQ/TXQ statistics */
#if EFSYS_OPT_QSTATS
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "QSTATS requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "QSTATS requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_QSTATS */
@ -283,15 +296,17 @@
/* Support receive scaling (RSS) */
#if EFSYS_OPT_RX_SCALE
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "RX_SCALE requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "RX_SCALE requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_RX_SCALE */
/* Support receive scatter DMA */
#if EFSYS_OPT_RX_SCATTER
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "RX_SCATTER requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "RX_SCATTER requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_RX_SCATTER */
@ -301,8 +316,9 @@
/* Support PCI Vital Product Data (VPD) */
#if EFSYS_OPT_VPD
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "VPD requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "VPD requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_VPD */
@ -317,8 +333,9 @@
/* Support BIST */
#if EFSYS_OPT_BIST
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "BIST requires SIENA or HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || \
EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "BIST requires SIENA or HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_BIST */
@ -334,15 +351,15 @@
/* Support adapters with missing static config (for factory use only) */
#if EFSYS_OPT_ALLOW_UNCONFIGURED_NIC
# if !EFSYS_OPT_MEDFORD
# error "ALLOW_UNCONFIGURED_NIC requires MEDFORD"
# if !(EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "ALLOW_UNCONFIGURED_NIC requires MEDFORD or MEDFORD2"
# endif
#endif /* EFSYS_OPT_ALLOW_UNCONFIGURED_NIC */
/* Support packed stream mode */
#if EFSYS_OPT_RX_PACKED_STREAM
# if !(EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD)
# error "PACKED_STREAM requires HUNTINGTON or MEDFORD"
# if !(EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD || EFSYS_OPT_MEDFORD2)
# error "PACKED_STREAM requires HUNTINGTON or MEDFORD or MEDFORD2"
# endif
#endif