efx_check.h revision 293806
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 293806 2016-01-13 06:37:45Z 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/* Support NVRAM based boot config */ 47299253Sarybchik#if EFSYS_OPT_BOOTCFG 48299253Sarybchik# if !EFSYS_OPT_NVRAM 49299253Sarybchik# error "BOOTCFG requires NVRAM" 50299253Sarybchik# endif 51299253Sarybchik#endif /* EFSYS_OPT_BOOTCFG */ 52299253Sarybchik 53283514Sarybchik/* Verify chip implements accessed registers */ 54283514Sarybchik#if EFSYS_OPT_CHECK_REG 55283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 56283514Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 57283514Sarybchik# error "CHECK_REG requires FALCON or SIENA or HUNTINGTON or MEDFORD" 58283514Sarybchik# endif 59283514Sarybchik#endif /* EFSYS_OPT_CHECK_REG */ 60283514Sarybchik 61283514Sarybchik/* Decode fatal errors */ 62299320Sarybchik#if EFSYS_OPT_DECODE_INTR_FATAL 63299320Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 64283514Sarybchik# error "INTR_FATAL requires FALCON or SIENA" 65283514Sarybchik# endif 66283514Sarybchik#endif /* EFSYS_OPT_DECODE_INTR_FATAL */ 67283514Sarybchik 68283514Sarybchik/* Support diagnostic hardware tests */ 69299320Sarybchik#if EFSYS_OPT_DIAG 70299320Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 71283514Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 72283514Sarybchik# error "DIAG requires FALCON or SIENA or HUNTINGTON or MEDFORD" 73283514Sarybchik# endif 74283514Sarybchik#endif /* EFSYS_OPT_DIAG */ 75283514Sarybchik 76299320Sarybchik/* Support optimized EVQ data access */ 77299320Sarybchik#if EFSYS_OPT_EV_PREFETCH 78283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 79283514Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 80283514Sarybchik# error "EV_PREFETCH requires FALCON or SIENA or HUNTINGTON or MEDFORD" 81283514Sarybchik# endif 82283514Sarybchik#endif /* EFSYS_OPT_EV_PREFETCH */ 83299320Sarybchik 84299320Sarybchik/* Support overriding the NVRAM and VPD configuration */ 85283514Sarybchik#if EFSYS_OPT_FALCON_NIC_CFG_OVERRIDE 86283514Sarybchik# if !EFSYS_OPT_FALCON 87283514Sarybchik# error "FALCON_NIC_CFG_OVERRIDE requires FALCON" 88299321Sarybchik# endif 89299321Sarybchik#endif /* EFSYS_OPT_FALCON_NIC_CFG_OVERRIDE */ 90299321Sarybchik 91283514Sarybchik/* Support hardware packet filters */ 92283514Sarybchik#if EFSYS_OPT_FILTER 93283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 94299320Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 95299320Sarybchik# error "FILTER requires FALCON or SIENA or HUNTINGTON or MEDFORD" 96283514Sarybchik# endif 97283514Sarybchik#endif /* EFSYS_OPT_FILTER */ 98283514Sarybchik 99293730Sarybchik#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 100283514Sarybchik# if !EFSYS_OPT_FILTER 101293730Sarybchik# error "HUNTINGTON or MEDFORD requires FILTER" 102283514Sarybchik# endif 103283514Sarybchik#endif /* EFSYS_OPT_HUNTINGTON */ 104283514Sarybchik 105283514Sarybchik/* Support hardware loopback modes */ 106283514Sarybchik#if EFSYS_OPT_LOOPBACK 107299320Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 108299320Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 109283514Sarybchik# error "LOOPBACK requires FALCON or SIENA or HUNTINGTON or MEDFORD" 110283514Sarybchik# endif 111283514Sarybchik#endif /* EFSYS_OPT_LOOPBACK */ 112299322Sarybchik 113299322Sarybchik/* Support Falcon GMAC */ 114299322Sarybchik#if EFSYS_OPT_MAC_FALCON_GMAC 115283514Sarybchik# if !EFSYS_OPT_FALCON 116299323Sarybchik# error "MAC_FALCON_GMAC requires FALCON" 117299323Sarybchik# endif 118299323Sarybchik#endif /* EFSYS_OPT_MAC_FALCON_GMAC */ 119283514Sarybchik 120283514Sarybchik/* Support Falcon XMAC */ 121283514Sarybchik#if EFSYS_OPT_MAC_FALCON_XMAC 122299320Sarybchik# if !EFSYS_OPT_FALCON 123299320Sarybchik# error "MAC_FALCON_XMAC requires FALCON" 124283514Sarybchik# endif 125283514Sarybchik#endif /* EFSYS_OPT_MAC_FALCON_XMAC */ 126283514Sarybchik 127283514Sarybchik/* Support MAC statistics */ 128283514Sarybchik#if EFSYS_OPT_MAC_STATS 129293730Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 130293730Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 131283514Sarybchik# error "MAC_STATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 132283514Sarybchik# endif 133283514Sarybchik#endif /* EFSYS_OPT_MAC_STATS */ 134293730Sarybchik 135293730Sarybchik/* Support management controller messages */ 136293730Sarybchik#if EFSYS_OPT_MCDI 137293730Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 138283514Sarybchik# error "MCDI requires SIENA or HUNTINGTON or MEDFORD" 139283514Sarybchik# endif 140291677Sarybchik#endif /* EFSYS_OPT_MCDI */ 141291677Sarybchik 142291677Sarybchik#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 143291677Sarybchik# if !EFSYS_OPT_MCDI 144291677Sarybchik# error "SIENA or HUNTINGTON or MEDFORD requires MCDI" 145291677Sarybchik# endif 146291677Sarybchik#endif 147291927Sarybchik 148291927Sarybchik/* Support MCDI logging */ 149291927Sarybchik#if EFSYS_OPT_MCDI_LOGGING 150291927Sarybchik# if !EFSYS_OPT_MCDI 151291927Sarybchik# error "MCDI_LOGGING requires MCDI" 152291927Sarybchik# endif 153291927Sarybchik#endif /* EFSYS_OPT_MCDI_LOGGING */ 154299324Sarybchik 155299324Sarybchik/* Support MCDI proxy authorization */ 156299324Sarybchik#if EFSYS_OPT_MCDI_PROXY_AUTH 157283514Sarybchik# if !EFSYS_OPT_MCDI 158299325Sarybchik# error "MCDI_PROXY_AUTH requires MCDI" 159299325Sarybchik# endif 160299325Sarybchik#endif /* EFSYS_OPT_MCDI_PROXY_AUTH */ 161283514Sarybchik 162299326Sarybchik/* Support LM87 monitor */ 163299326Sarybchik#if EFSYS_OPT_MON_LM87 164299326Sarybchik# if !EFSYS_OPT_FALCON 165283514Sarybchik# error "MON_LM87 requires FALCON" 166293767Sarybchik# endif 167283514Sarybchik#endif /* EFSYS_OPT_MON_LM87 */ 168293767Sarybchik 169283514Sarybchik/* Support MAX6647 monitor */ 170283514Sarybchik#if EFSYS_OPT_MON_MAX6647 171293767Sarybchik# if !EFSYS_OPT_FALCON 172283514Sarybchik# error "MON_MAX6647 requires FALCON" 173293767Sarybchik# endif 174283514Sarybchik#endif /* EFSYS_OPT_MON_MAX6647 */ 175283514Sarybchik 176283514Sarybchik/* Support null monitor */ 177283514Sarybchik#if EFSYS_OPT_MON_NULL 178299320Sarybchik# if !EFSYS_OPT_FALCON 179299320Sarybchik# error "MON_NULL requires FALCON" 180283514Sarybchik# endif 181283514Sarybchik#endif /* EFSYS_OPT_MON_NULL */ 182283514Sarybchik 183283514Sarybchik/* Obsolete option */ 184283514Sarybchik#ifdef EFSYS_OPT_MON_SIENA 185293730Sarybchik# error "MON_SIENA is obsolete (replaced by MON_MCDI)." 186293730Sarybchik#endif /* EFSYS_OPT_MON_SIENA*/ 187283514Sarybchik 188283514Sarybchik/* Obsolete option */ 189283514Sarybchik#ifdef EFSYS_OPT_MON_HUNTINGTON 190283514Sarybchik# error "MON_HUNTINGTON is obsolete (replaced by MON_MCDI)." 191283514Sarybchik#endif /* EFSYS_OPT_MON_HUNTINGTON*/ 192283514Sarybchik 193283514Sarybchik/* Support monitor statistics (voltage/temperature) */ 194283514Sarybchik#if EFSYS_OPT_MON_STATS 195283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 196283514Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 197283514Sarybchik# error "MON_STATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 198283514Sarybchik# endif 199283514Sarybchik#endif /* EFSYS_OPT_MON_STATS */ 200283514Sarybchik 201299320Sarybchik/* Support Monitor via mcdi */ 202299320Sarybchik#if EFSYS_OPT_MON_MCDI 203283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 204283514Sarybchik# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD" 205283514Sarybchik# endif 206299327Sarybchik#endif /* EFSYS_OPT_MON_MCDI*/ 207299327Sarybchik 208299327Sarybchik/* Support printable names for statistics */ 209283514Sarybchik#if EFSYS_OPT_NAMES 210299328Sarybchik# if !(EFSYS_OPT_LOOPBACK || EFSYS_OPT_MAC_STATS || EFSYS_OPT_MCDI || \ 211299328Sarybchik EFSYS_MON_STATS || EFSYS_OPT_PHY_PROPS || EFSYS_OPT_PHY_STATS || \ 212299328Sarybchik EFSYS_OPT_QSTATS) 213283514Sarybchik# error "NAMES requires LOOPBACK or xxxSTATS or MCDI or PHY_PROPS" 214299330Sarybchik# endif 215299330Sarybchik#endif /* EFSYS_OPT_NAMES */ 216299330Sarybchik 217283514Sarybchik/* Support non volatile configuration */ 218299254Sarybchik#if EFSYS_OPT_NVRAM 219299254Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 220299254Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 221283514Sarybchik# error "NVRAM requires FALCON or SIENA or HUNTINGTON or MEDFORD" 222293767Sarybchik# endif 223299252Sarybchik#endif /* EFSYS_OPT_NVRAM */ 224299252Sarybchik 225299252Sarybchik/* Support Falcon bootrom */ 226283514Sarybchik#if EFSYS_OPT_NVRAM_FALCON_BOOTROM 227283514Sarybchik# if !EFSYS_OPT_NVRAM 228283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires NVRAM" 229299320Sarybchik# endif 230299320Sarybchik# if !EFSYS_OPT_FALCON 231283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires FALCON" 232283514Sarybchik# endif 233283514Sarybchik#endif /* EFSYS_OPT_NVRAM_FALCON_BOOTROM */ 234283514Sarybchik 235283514Sarybchik/* Support NVRAM config for SFT9001 */ 236299320Sarybchik#if EFSYS_OPT_NVRAM_SFT9001 237299320Sarybchik# if !EFSYS_OPT_NVRAM 238283514Sarybchik# error "NVRAM_SFT9001 requires NVRAM" 239283514Sarybchik# endif 240283514Sarybchik# if !EFSYS_OPT_FALCON 241299331Sarybchik# error "NVRAM_SFT9001 requires FALCON" 242299331Sarybchik# endif 243299331Sarybchik#endif /* EFSYS_OPT_NVRAM_SFT9001 */ 244283514Sarybchik 245283514Sarybchik/* Support NVRAM config for SFX7101 */ 246283514Sarybchik#if EFSYS_OPT_NVRAM_SFX7101 247283514Sarybchik# if !EFSYS_OPT_NVRAM 248283514Sarybchik# error "NVRAM_SFX7101 requires NVRAM" 249283514Sarybchik# endif 250283514Sarybchik# if !EFSYS_OPT_FALCON 251283514Sarybchik# error "NVRAM_SFX7101 requires FALCON" 252299320Sarybchik# endif 253299320Sarybchik#endif /* EFSYS_OPT_NVRAM_SFX7101 */ 254283514Sarybchik 255283514Sarybchik/* Support PCIe interface tuning */ 256283514Sarybchik#if EFSYS_OPT_PCIE_TUNE 257299332Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 258299332Sarybchik# error "PCIE_TUNE requires FALCON or SIENA" 259299332Sarybchik# endif 260283514Sarybchik#endif /* EFSYS_OPT_PCIE_TUNE */ 261299333Sarybchik 262299333Sarybchik/* Obsolete option */ 263299333Sarybchik#if EFSYS_OPT_PHY_BIST 264283514Sarybchik# error "PHY_BIST is obsolete (replaced by BIST)." 265299334Sarybchik#endif /* EFSYS_OPT_PHY_BIST */ 266299334Sarybchik 267299334Sarybchik/* Support PHY flags */ 268283514Sarybchik#if EFSYS_OPT_PHY_FLAGS 269299335Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 270299335Sarybchik# error "PHY_FLAGS requires FALCON or SIENA" 271299335Sarybchik# endif 272283514Sarybchik#endif /* EFSYS_OPT_PHY_FLAGS */ 273283514Sarybchik 274283514Sarybchik/* Support for PHY LED control */ 275299320Sarybchik#if EFSYS_OPT_PHY_LED_CONTROL 276299320Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 277283514Sarybchik# error "PHY_LED_CONTROL requires FALCON or SIENA" 278283514Sarybchik# endif 279283514Sarybchik#endif /* EFSYS_OPT_PHY_LED_CONTROL */ 280283514Sarybchik 281283514Sarybchik/* Support NULL PHY */ 282283514Sarybchik#if EFSYS_OPT_PHY_NULL 283283514Sarybchik# if !EFSYS_OPT_FALCON 284283514Sarybchik# error "PHY_NULL requires FALCON" 285283514Sarybchik# endif 286283514Sarybchik#endif /* EFSYS_OPT_PHY_NULL */ 287283514Sarybchik 288283514Sarybchik/* Obsolete option */ 289299320Sarybchik#ifdef EFSYS_OPT_PHY_PM8358 290299320Sarybchik# error "EFSYS_OPT_PHY_PM8358 is obsolete and is not supported." 291283514Sarybchik#endif 292283514Sarybchik 293283514Sarybchik/* Support PHY properties */ 294293806Sarybchik#if EFSYS_OPT_PHY_PROPS 295293806Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 296293806Sarybchik# error "PHY_PROPS requires FALCON or SIENA" 297283514Sarybchik# endif 298283514Sarybchik#endif /* EFSYS_OPT_PHY_PROPS */ 299283514Sarybchik 300283514Sarybchik/* Support QT2022C2 PHY */ 301299320Sarybchik#if EFSYS_OPT_PHY_QT2022C2 302299320Sarybchik# if !EFSYS_OPT_FALCON 303283514Sarybchik# error "PHY_QT2022C2 requires FALCON" 304283514Sarybchik# endif 305283514Sarybchik#endif /* EFSYS_OPT_PHY_QT2022C2 */ 306283514Sarybchik 307283514Sarybchik/* Support QT2025C PHY (Wakefield NIC) */ 308299320Sarybchik#if EFSYS_OPT_PHY_QT2025C 309299320Sarybchik# if !EFSYS_OPT_FALCON 310283514Sarybchik# error "PHY_QT2025C requires FALCON" 311283514Sarybchik# endif 312283514Sarybchik#endif /* EFSYS_OPT_PHY_QT2025C */ 313283514Sarybchik 314283514Sarybchik/* Support SFT9001 PHY (Starbolt NIC) */ 315293767Sarybchik#if EFSYS_OPT_PHY_SFT9001 316283514Sarybchik# if !EFSYS_OPT_FALCON 317283514Sarybchik# error "PHY_SFT9001 requires FALCON" 318283514Sarybchik# endif 319283514Sarybchik#endif /* EFSYS_OPT_PHY_SFT9001 */ 320299320Sarybchik 321299320Sarybchik/* Support SFX7101 PHY (SFE4001 NIC) */ 322283514Sarybchik#if EFSYS_OPT_PHY_SFX7101 323283514Sarybchik# if !EFSYS_OPT_FALCON 324283514Sarybchik# error "PHY_SFX7101 requires FALCON" 325283514Sarybchik# endif 326283514Sarybchik#endif /* EFSYS_OPT_PHY_SFX7101 */ 327283514Sarybchik 328283514Sarybchik/* Support PHY statistics */ 329283514Sarybchik#if EFSYS_OPT_PHY_STATS 330283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 331283514Sarybchik# error "PHY_STATS requires FALCON or SIENA" 332293758Sarybchik# endif 333293758Sarybchik#endif /* EFSYS_OPT_PHY_STATS */ 334293767Sarybchik 335283514Sarybchik/* Support TXC43128 PHY (SFE4003 NIC) */ 336283514Sarybchik#if EFSYS_OPT_PHY_TXC43128 337283514Sarybchik# if !EFSYS_OPT_FALCON 338283514Sarybchik# error "PHY_TXC43128 requires FALCON" 339299320Sarybchik# endif 340299320Sarybchik#endif /* EFSYS_OPT_PHY_TXC43128 */ 341283514Sarybchik 342283514Sarybchik/* Support EVQ/RXQ/TXQ statistics */ 343283514Sarybchik#if EFSYS_OPT_QSTATS 344293901Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 345293901Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 346293901Sarybchik# error "QSTATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 347293901Sarybchik# endif 348293901Sarybchik#endif /* EFSYS_OPT_QSTATS */ 349293901Sarybchik 350293901Sarybchik/* Obsolete option */ 351293901Sarybchik#ifdef EFSYS_OPT_RX_HDR_SPLIT 352293901Sarybchik# error "RX_HDR_SPLIT is obsolete and is not supported" 353293901Sarybchik#endif /* EFSYS_OPT_RX_HDR_SPLIT */ 354293901Sarybchik 355283514Sarybchik/* Support receive scaling (RSS) */ 356#if EFSYS_OPT_RX_SCALE 357# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 358 EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 359# error "RX_SCALE requires FALCON or SIENA or HUNTINGTON or MEDFORD" 360# endif 361#endif /* EFSYS_OPT_RX_SCALE */ 362 363/* Support receive scatter DMA */ 364#if EFSYS_OPT_RX_SCATTER 365# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 366 EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 367# error "RX_SCATTER requires FALCON or SIENA or HUNTINGTON or MEDFORD" 368# endif 369#endif /* EFSYS_OPT_RX_SCATTER */ 370 371/* Obsolete option */ 372#ifdef EFSYS_OPT_STAT_NAME 373# error "STAT_NAME is obsolete (replaced by NAMES)." 374#endif 375 376/* Support PCI Vital Product Data (VPD) */ 377#if EFSYS_OPT_VPD 378# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 379 EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 380# error "VPD requires FALCON or SIENA or HUNTINGTON or MEDFORD" 381# endif 382#endif /* EFSYS_OPT_VPD */ 383 384/* Support Wake on LAN */ 385#if EFSYS_OPT_WOL 386# if !EFSYS_OPT_SIENA 387# error "WOL requires SIENA" 388# endif 389#endif /* EFSYS_OPT_WOL */ 390 391/* Obsolete option */ 392#ifdef EFSYS_OPT_MCAST_FILTER_LIST 393# error "MCAST_FILTER_LIST is obsolete and is not supported" 394#endif /* EFSYS_OPT_MCAST_FILTER_LIST */ 395 396/* Support BIST */ 397#if EFSYS_OPT_BIST 398# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 399 EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 400# error "BIST requires FALCON or SIENA or HUNTINGTON or MEDFORD" 401# endif 402#endif /* EFSYS_OPT_BIST */ 403 404#endif /* _SYS_EFX_CHECK_H */ 405