efx_check.h revision 299322
1283514Sarybchik/*- 2283514Sarybchik * Copyright (c) 2012-2015 Solarflare Communications Inc. 3283514Sarybchik * All rights reserved. 4283514Sarybchik * 5283514Sarybchik * Redistribution and use in source and binary forms, with or without 6283514Sarybchik * modification, are permitted provided that the following conditions are met: 7283514Sarybchik * 8283514Sarybchik * 1. Redistributions of source code must retain the above copyright notice, 9283514Sarybchik * this list of conditions and the following disclaimer. 10283514Sarybchik * 2. Redistributions in binary form must reproduce the above copyright notice, 11283514Sarybchik * this list of conditions and the following disclaimer in the documentation 12283514Sarybchik * and/or other materials provided with the distribution. 13283514Sarybchik * 14283514Sarybchik * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15283514Sarybchik * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 16283514Sarybchik * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 17283514Sarybchik * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 18283514Sarybchik * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19283514Sarybchik * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20283514Sarybchik * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 21283514Sarybchik * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 22283514Sarybchik * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23283514Sarybchik * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 24283514Sarybchik * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25283514Sarybchik * 26283514Sarybchik * The views and conclusions contained in the software and documentation are 27283514Sarybchik * those of the authors and should not be interpreted as representing official 28283514Sarybchik * policies, either expressed or implied, of the FreeBSD Project. 29283514Sarybchik * 30283514Sarybchik * $FreeBSD: head/sys/dev/sfxge/common/efx_check.h 299322 2016-05-10 07:06:44Z arybchik $ 31283514Sarybchik */ 32283514Sarybchik 33283514Sarybchik#ifndef _SYS_EFX_CHECK_H 34283514Sarybchik#define _SYS_EFX_CHECK_H 35283514Sarybchik 36283514Sarybchik#include "efsys.h" 37283514Sarybchik 38283514Sarybchik/* 39283514Sarybchik * Check that the efsys.h header in client code has a valid combination of 40283514Sarybchik * EFSYS_OPT_xxx options. 41283514Sarybchik * 42283514Sarybchik * NOTE: Keep checks for obsolete options here to ensure that they are removed 43283514Sarybchik * from client code (and do not reappear in merges from other branches). 44283514Sarybchik */ 45283514Sarybchik 46299253Sarybchik#ifdef EFSYS_OPT_FALCON 47299253Sarybchik# error "FALCON is obsolete and is not supported." 48299253Sarybchik#else 49299253Sarybchik/* FIXME: remove this after Falcon support has been removed */ 50299253Sarybchik#define EFSYS_OPT_MAC_FALCON_XMAC (0) 51299253Sarybchik 52299253Sarybchik#define EFSYS_OPT_MON_LM87 (0) 53299253Sarybchik#define EFSYS_OPT_MON_MAX6647 (0) 54299253Sarybchik#define EFSYS_OPT_MON_NULL (0) 55299253Sarybchik 56299253Sarybchik#define EFSYS_OPT_NVRAM_FALCON_BOOTROM (0) 57299253Sarybchik#define EFSYS_OPT_NVRAM_SFT9001 (0) 58299253Sarybchik#define EFSYS_OPT_NVRAM_SFX7101 (0) 59299253Sarybchik 60299253Sarybchik#define EFSYS_OPT_PHY_NULL (0) 61299253Sarybchik#define EFSYS_OPT_PHY_QT2022C2 (0) 62299253Sarybchik#define EFSYS_OPT_PHY_QT2025C (0) 63299253Sarybchik#define EFSYS_OPT_PHY_SFT9001 (0) 64299253Sarybchik#define EFSYS_OPT_PHY_SFX7101 (0) 65299253Sarybchik#define EFSYS_OPT_PHY_TXC43128 (0) 66299253Sarybchik#endif 67299253Sarybchik 68283514Sarybchik/* Support NVRAM based boot config */ 69283514Sarybchik#if EFSYS_OPT_BOOTCFG 70283514Sarybchik# if !EFSYS_OPT_NVRAM 71283514Sarybchik# error "BOOTCFG requires NVRAM" 72283514Sarybchik# endif 73283514Sarybchik#endif /* EFSYS_OPT_BOOTCFG */ 74283514Sarybchik 75283514Sarybchik/* Verify chip implements accessed registers */ 76283514Sarybchik#if EFSYS_OPT_CHECK_REG 77299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 78299320Sarybchik# error "CHECK_REG requires SIENA or HUNTINGTON or MEDFORD" 79283514Sarybchik# endif 80283514Sarybchik#endif /* EFSYS_OPT_CHECK_REG */ 81283514Sarybchik 82283514Sarybchik/* Decode fatal errors */ 83283514Sarybchik#if EFSYS_OPT_DECODE_INTR_FATAL 84299320Sarybchik# if !EFSYS_OPT_SIENA 85299320Sarybchik# error "INTR_FATAL requires SIENA" 86283514Sarybchik# endif 87283514Sarybchik#endif /* EFSYS_OPT_DECODE_INTR_FATAL */ 88283514Sarybchik 89283514Sarybchik/* Support diagnostic hardware tests */ 90283514Sarybchik#if EFSYS_OPT_DIAG 91299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 92299320Sarybchik# error "DIAG requires SIENA or HUNTINGTON or MEDFORD" 93283514Sarybchik# endif 94283514Sarybchik#endif /* EFSYS_OPT_DIAG */ 95283514Sarybchik 96283514Sarybchik/* Support optimized EVQ data access */ 97283514Sarybchik#if EFSYS_OPT_EV_PREFETCH 98299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 99299320Sarybchik# error "EV_PREFETCH requires SIENA or HUNTINGTON or MEDFORD" 100283514Sarybchik# endif 101283514Sarybchik#endif /* EFSYS_OPT_EV_PREFETCH */ 102283514Sarybchik 103299321Sarybchik#ifdef EFSYS_OPT_FALCON_NIC_CFG_OVERRIDE 104299321Sarybchik# error "FALCON_NIC_CFG_OVERRIDE is obsolete and is not supported." 105299321Sarybchik#endif 106283514Sarybchik 107283514Sarybchik/* Support hardware packet filters */ 108283514Sarybchik#if EFSYS_OPT_FILTER 109299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 110299320Sarybchik# error "FILTER requires SIENA or HUNTINGTON or MEDFORD" 111283514Sarybchik# endif 112283514Sarybchik#endif /* EFSYS_OPT_FILTER */ 113283514Sarybchik 114293730Sarybchik#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 115283514Sarybchik# if !EFSYS_OPT_FILTER 116293730Sarybchik# error "HUNTINGTON or MEDFORD requires FILTER" 117283514Sarybchik# endif 118283514Sarybchik#endif /* EFSYS_OPT_HUNTINGTON */ 119283514Sarybchik 120283514Sarybchik/* Support hardware loopback modes */ 121283514Sarybchik#if EFSYS_OPT_LOOPBACK 122299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 123299320Sarybchik# error "LOOPBACK requires SIENA or HUNTINGTON or MEDFORD" 124283514Sarybchik# endif 125283514Sarybchik#endif /* EFSYS_OPT_LOOPBACK */ 126283514Sarybchik 127299322Sarybchik#ifdef EFSYS_OPT_MAC_FALCON_GMAC 128299322Sarybchik# error "MAC_FALCON_GMAC is obsolete and is not supported." 129299322Sarybchik#endif 130283514Sarybchik 131283514Sarybchik/* Support Falcon XMAC */ 132283514Sarybchik#if EFSYS_OPT_MAC_FALCON_XMAC 133283514Sarybchik# if !EFSYS_OPT_FALCON 134283514Sarybchik# error "MAC_FALCON_XMAC requires FALCON" 135283514Sarybchik# endif 136283514Sarybchik#endif /* EFSYS_OPT_MAC_FALCON_XMAC */ 137283514Sarybchik 138283514Sarybchik/* Support MAC statistics */ 139283514Sarybchik#if EFSYS_OPT_MAC_STATS 140299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 141299320Sarybchik# error "MAC_STATS requires SIENA or HUNTINGTON or MEDFORD" 142283514Sarybchik# endif 143283514Sarybchik#endif /* EFSYS_OPT_MAC_STATS */ 144283514Sarybchik 145283514Sarybchik/* Support management controller messages */ 146283514Sarybchik#if EFSYS_OPT_MCDI 147293730Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 148293730Sarybchik# error "MCDI requires SIENA or HUNTINGTON or MEDFORD" 149283514Sarybchik# endif 150283514Sarybchik#endif /* EFSYS_OPT_MCDI */ 151283514Sarybchik 152293730Sarybchik#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 153293730Sarybchik# if !EFSYS_OPT_MCDI 154293730Sarybchik# error "SIENA or HUNTINGTON or MEDFORD requires MCDI" 155293730Sarybchik# endif 156283514Sarybchik#endif 157283514Sarybchik 158291677Sarybchik/* Support MCDI logging */ 159291677Sarybchik#if EFSYS_OPT_MCDI_LOGGING 160291677Sarybchik# if !EFSYS_OPT_MCDI 161291677Sarybchik# error "MCDI_LOGGING requires MCDI" 162291677Sarybchik# endif 163291677Sarybchik#endif /* EFSYS_OPT_MCDI_LOGGING */ 164291677Sarybchik 165291927Sarybchik/* Support MCDI proxy authorization */ 166291927Sarybchik#if EFSYS_OPT_MCDI_PROXY_AUTH 167291927Sarybchik# if !EFSYS_OPT_MCDI 168291927Sarybchik# error "MCDI_PROXY_AUTH requires MCDI" 169291927Sarybchik# endif 170291927Sarybchik#endif /* EFSYS_OPT_MCDI_PROXY_AUTH */ 171291927Sarybchik 172283514Sarybchik/* Support LM87 monitor */ 173283514Sarybchik#if EFSYS_OPT_MON_LM87 174283514Sarybchik# if !EFSYS_OPT_FALCON 175283514Sarybchik# error "MON_LM87 requires FALCON" 176283514Sarybchik# endif 177283514Sarybchik#endif /* EFSYS_OPT_MON_LM87 */ 178283514Sarybchik 179283514Sarybchik/* Support MAX6647 monitor */ 180283514Sarybchik#if EFSYS_OPT_MON_MAX6647 181283514Sarybchik# if !EFSYS_OPT_FALCON 182283514Sarybchik# error "MON_MAX6647 requires FALCON" 183283514Sarybchik# endif 184283514Sarybchik#endif /* EFSYS_OPT_MON_MAX6647 */ 185283514Sarybchik 186283514Sarybchik/* Support null monitor */ 187283514Sarybchik#if EFSYS_OPT_MON_NULL 188283514Sarybchik# if !EFSYS_OPT_FALCON 189283514Sarybchik# error "MON_NULL requires FALCON" 190283514Sarybchik# endif 191283514Sarybchik#endif /* EFSYS_OPT_MON_NULL */ 192283514Sarybchik 193293767Sarybchik/* Obsolete option */ 194283514Sarybchik#ifdef EFSYS_OPT_MON_SIENA 195293767Sarybchik# error "MON_SIENA is obsolete (replaced by MON_MCDI)." 196283514Sarybchik#endif /* EFSYS_OPT_MON_SIENA*/ 197283514Sarybchik 198293767Sarybchik/* Obsolete option */ 199283514Sarybchik#ifdef EFSYS_OPT_MON_HUNTINGTON 200293767Sarybchik# error "MON_HUNTINGTON is obsolete (replaced by MON_MCDI)." 201283514Sarybchik#endif /* EFSYS_OPT_MON_HUNTINGTON*/ 202283514Sarybchik 203283514Sarybchik/* Support monitor statistics (voltage/temperature) */ 204283514Sarybchik#if EFSYS_OPT_MON_STATS 205299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 206299320Sarybchik# error "MON_STATS requires SIENA or HUNTINGTON or MEDFORD" 207283514Sarybchik# endif 208283514Sarybchik#endif /* EFSYS_OPT_MON_STATS */ 209283514Sarybchik 210283514Sarybchik/* Support Monitor via mcdi */ 211283514Sarybchik#if EFSYS_OPT_MON_MCDI 212293730Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 213293730Sarybchik# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD" 214283514Sarybchik# endif 215283514Sarybchik#endif /* EFSYS_OPT_MON_MCDI*/ 216283514Sarybchik 217283514Sarybchik/* Support printable names for statistics */ 218283514Sarybchik#if EFSYS_OPT_NAMES 219283514Sarybchik# if !(EFSYS_OPT_LOOPBACK || EFSYS_OPT_MAC_STATS || EFSYS_OPT_MCDI || \ 220283514Sarybchik EFSYS_MON_STATS || EFSYS_OPT_PHY_PROPS || EFSYS_OPT_PHY_STATS || \ 221283514Sarybchik EFSYS_OPT_QSTATS) 222283514Sarybchik# error "NAMES requires LOOPBACK or xxxSTATS or MCDI or PHY_PROPS" 223283514Sarybchik# endif 224283514Sarybchik#endif /* EFSYS_OPT_NAMES */ 225283514Sarybchik 226283514Sarybchik/* Support non volatile configuration */ 227283514Sarybchik#if EFSYS_OPT_NVRAM 228299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 229299320Sarybchik# error "NVRAM requires SIENA or HUNTINGTON or MEDFORD" 230283514Sarybchik# endif 231283514Sarybchik#endif /* EFSYS_OPT_NVRAM */ 232283514Sarybchik 233283514Sarybchik/* Support Falcon bootrom */ 234283514Sarybchik#if EFSYS_OPT_NVRAM_FALCON_BOOTROM 235283514Sarybchik# if !EFSYS_OPT_NVRAM 236283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires NVRAM" 237283514Sarybchik# endif 238283514Sarybchik# if !EFSYS_OPT_FALCON 239283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires FALCON" 240283514Sarybchik# endif 241283514Sarybchik#endif /* EFSYS_OPT_NVRAM_FALCON_BOOTROM */ 242283514Sarybchik 243283514Sarybchik/* Support NVRAM config for SFT9001 */ 244283514Sarybchik#if EFSYS_OPT_NVRAM_SFT9001 245283514Sarybchik# if !EFSYS_OPT_NVRAM 246283514Sarybchik# error "NVRAM_SFT9001 requires NVRAM" 247283514Sarybchik# endif 248283514Sarybchik# if !EFSYS_OPT_FALCON 249283514Sarybchik# error "NVRAM_SFT9001 requires FALCON" 250283514Sarybchik# endif 251283514Sarybchik#endif /* EFSYS_OPT_NVRAM_SFT9001 */ 252283514Sarybchik 253283514Sarybchik/* Support NVRAM config for SFX7101 */ 254283514Sarybchik#if EFSYS_OPT_NVRAM_SFX7101 255283514Sarybchik# if !EFSYS_OPT_NVRAM 256283514Sarybchik# error "NVRAM_SFX7101 requires NVRAM" 257283514Sarybchik# endif 258283514Sarybchik# if !EFSYS_OPT_FALCON 259283514Sarybchik# error "NVRAM_SFX7101 requires FALCON" 260283514Sarybchik# endif 261283514Sarybchik#endif /* EFSYS_OPT_NVRAM_SFX7101 */ 262283514Sarybchik 263299254Sarybchik#ifdef EFSYS_OPT_PCIE_TUNE 264299254Sarybchik# error "PCIE_TUNE is obsolete and is not supported." 265299254Sarybchik#endif 266283514Sarybchik 267293767Sarybchik/* Obsolete option */ 268299252Sarybchik#ifdef EFSYS_OPT_PHY_BIST 269299252Sarybchik# error "PHY_BIST is obsolete (replaced by BIST)." 270299252Sarybchik#endif 271283514Sarybchik 272283514Sarybchik/* Support PHY flags */ 273283514Sarybchik#if EFSYS_OPT_PHY_FLAGS 274299320Sarybchik# if !EFSYS_OPT_SIENA 275299320Sarybchik# error "PHY_FLAGS requires SIENA" 276283514Sarybchik# endif 277283514Sarybchik#endif /* EFSYS_OPT_PHY_FLAGS */ 278283514Sarybchik 279283514Sarybchik/* Support for PHY LED control */ 280283514Sarybchik#if EFSYS_OPT_PHY_LED_CONTROL 281299320Sarybchik# if !EFSYS_OPT_SIENA 282299320Sarybchik# error "PHY_LED_CONTROL requires SIENA" 283283514Sarybchik# endif 284283514Sarybchik#endif /* EFSYS_OPT_PHY_LED_CONTROL */ 285283514Sarybchik 286283514Sarybchik/* Support NULL PHY */ 287283514Sarybchik#if EFSYS_OPT_PHY_NULL 288283514Sarybchik# if !EFSYS_OPT_FALCON 289283514Sarybchik# error "PHY_NULL requires FALCON" 290283514Sarybchik# endif 291283514Sarybchik#endif /* EFSYS_OPT_PHY_NULL */ 292283514Sarybchik 293283514Sarybchik/* Obsolete option */ 294283514Sarybchik#ifdef EFSYS_OPT_PHY_PM8358 295283514Sarybchik# error "EFSYS_OPT_PHY_PM8358 is obsolete and is not supported." 296283514Sarybchik#endif 297283514Sarybchik 298283514Sarybchik/* Support PHY properties */ 299283514Sarybchik#if EFSYS_OPT_PHY_PROPS 300299320Sarybchik# if !EFSYS_OPT_SIENA 301299320Sarybchik# error "PHY_PROPS requires SIENA" 302283514Sarybchik# endif 303283514Sarybchik#endif /* EFSYS_OPT_PHY_PROPS */ 304283514Sarybchik 305283514Sarybchik/* Support QT2022C2 PHY */ 306283514Sarybchik#if EFSYS_OPT_PHY_QT2022C2 307283514Sarybchik# if !EFSYS_OPT_FALCON 308283514Sarybchik# error "PHY_QT2022C2 requires FALCON" 309283514Sarybchik# endif 310283514Sarybchik#endif /* EFSYS_OPT_PHY_QT2022C2 */ 311283514Sarybchik 312283514Sarybchik/* Support QT2025C PHY (Wakefield NIC) */ 313283514Sarybchik#if EFSYS_OPT_PHY_QT2025C 314283514Sarybchik# if !EFSYS_OPT_FALCON 315283514Sarybchik# error "PHY_QT2025C requires FALCON" 316283514Sarybchik# endif 317283514Sarybchik#endif /* EFSYS_OPT_PHY_QT2025C */ 318283514Sarybchik 319283514Sarybchik/* Support SFT9001 PHY (Starbolt NIC) */ 320283514Sarybchik#if EFSYS_OPT_PHY_SFT9001 321283514Sarybchik# if !EFSYS_OPT_FALCON 322283514Sarybchik# error "PHY_SFT9001 requires FALCON" 323283514Sarybchik# endif 324283514Sarybchik#endif /* EFSYS_OPT_PHY_SFT9001 */ 325283514Sarybchik 326283514Sarybchik/* Support SFX7101 PHY (SFE4001 NIC) */ 327283514Sarybchik#if EFSYS_OPT_PHY_SFX7101 328283514Sarybchik# if !EFSYS_OPT_FALCON 329283514Sarybchik# error "PHY_SFX7101 requires FALCON" 330283514Sarybchik# endif 331283514Sarybchik#endif /* EFSYS_OPT_PHY_SFX7101 */ 332283514Sarybchik 333283514Sarybchik/* Support PHY statistics */ 334283514Sarybchik#if EFSYS_OPT_PHY_STATS 335299320Sarybchik# if !EFSYS_OPT_SIENA 336299320Sarybchik# error "PHY_STATS requires SIENA" 337283514Sarybchik# endif 338283514Sarybchik#endif /* EFSYS_OPT_PHY_STATS */ 339283514Sarybchik 340283514Sarybchik/* Support TXC43128 PHY (SFE4003 NIC) */ 341283514Sarybchik#if EFSYS_OPT_PHY_TXC43128 342283514Sarybchik# if !EFSYS_OPT_FALCON 343283514Sarybchik# error "PHY_TXC43128 requires FALCON" 344283514Sarybchik# endif 345283514Sarybchik#endif /* EFSYS_OPT_PHY_TXC43128 */ 346283514Sarybchik 347283514Sarybchik/* Support EVQ/RXQ/TXQ statistics */ 348283514Sarybchik#if EFSYS_OPT_QSTATS 349299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 350299320Sarybchik# error "QSTATS requires SIENA or HUNTINGTON or MEDFORD" 351283514Sarybchik# endif 352283514Sarybchik#endif /* EFSYS_OPT_QSTATS */ 353283514Sarybchik 354293806Sarybchik/* Obsolete option */ 355293806Sarybchik#ifdef EFSYS_OPT_RX_HDR_SPLIT 356293806Sarybchik# error "RX_HDR_SPLIT is obsolete and is not supported" 357283514Sarybchik#endif /* EFSYS_OPT_RX_HDR_SPLIT */ 358283514Sarybchik 359283514Sarybchik/* Support receive scaling (RSS) */ 360283514Sarybchik#if EFSYS_OPT_RX_SCALE 361299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 362299320Sarybchik# error "RX_SCALE requires SIENA or HUNTINGTON or MEDFORD" 363283514Sarybchik# endif 364283514Sarybchik#endif /* EFSYS_OPT_RX_SCALE */ 365283514Sarybchik 366283514Sarybchik/* Support receive scatter DMA */ 367283514Sarybchik#if EFSYS_OPT_RX_SCATTER 368299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 369299320Sarybchik# error "RX_SCATTER requires SIENA or HUNTINGTON or MEDFORD" 370283514Sarybchik# endif 371283514Sarybchik#endif /* EFSYS_OPT_RX_SCATTER */ 372283514Sarybchik 373283514Sarybchik/* Obsolete option */ 374283514Sarybchik#ifdef EFSYS_OPT_STAT_NAME 375293767Sarybchik# error "STAT_NAME is obsolete (replaced by NAMES)." 376283514Sarybchik#endif 377283514Sarybchik 378283514Sarybchik/* Support PCI Vital Product Data (VPD) */ 379283514Sarybchik#if EFSYS_OPT_VPD 380299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 381299320Sarybchik# error "VPD requires SIENA or HUNTINGTON or MEDFORD" 382283514Sarybchik# endif 383283514Sarybchik#endif /* EFSYS_OPT_VPD */ 384283514Sarybchik 385283514Sarybchik/* Support Wake on LAN */ 386283514Sarybchik#if EFSYS_OPT_WOL 387283514Sarybchik# if !EFSYS_OPT_SIENA 388283514Sarybchik# error "WOL requires SIENA" 389283514Sarybchik# endif 390283514Sarybchik#endif /* EFSYS_OPT_WOL */ 391283514Sarybchik 392293758Sarybchik/* Obsolete option */ 393293758Sarybchik#ifdef EFSYS_OPT_MCAST_FILTER_LIST 394293767Sarybchik# error "MCAST_FILTER_LIST is obsolete and is not supported" 395283514Sarybchik#endif /* EFSYS_OPT_MCAST_FILTER_LIST */ 396283514Sarybchik 397283514Sarybchik/* Support BIST */ 398283514Sarybchik#if EFSYS_OPT_BIST 399299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 400299320Sarybchik# error "BIST requires SIENA or HUNTINGTON or MEDFORD" 401283514Sarybchik# endif 402283514Sarybchik#endif /* EFSYS_OPT_BIST */ 403283514Sarybchik 404293901Sarybchik/* Support MCDI licensing API */ 405293901Sarybchik#if EFSYS_OPT_LICENSING 406293901Sarybchik# if !EFSYS_OPT_MCDI 407293901Sarybchik# error "LICENSING requires MCDI" 408293901Sarybchik# endif 409293901Sarybchik# if !EFSYS_HAS_UINT64 410293901Sarybchik# error "LICENSING requires UINT64" 411293901Sarybchik# endif 412293901Sarybchik#endif /* EFSYS_OPT_LICENSING */ 413293901Sarybchik 414293901Sarybchik 415283514Sarybchik#endif /* _SYS_EFX_CHECK_H */ 416