efx_check.h revision 294007
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: stable/10/sys/dev/sfxge/common/efx_check.h 294007 2016-01-14 16:19:01Z 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 46283514Sarybchik/* Support NVRAM based boot config */ 47283514Sarybchik#if EFSYS_OPT_BOOTCFG 48283514Sarybchik# if !EFSYS_OPT_NVRAM 49283514Sarybchik# error "BOOTCFG requires NVRAM" 50283514Sarybchik# endif 51283514Sarybchik#endif /* EFSYS_OPT_BOOTCFG */ 52283514Sarybchik 53283514Sarybchik/* Verify chip implements accessed registers */ 54283514Sarybchik#if EFSYS_OPT_CHECK_REG 55293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 56293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 57293974Sarybchik# error "CHECK_REG requires FALCON or SIENA or HUNTINGTON or MEDFORD" 58283514Sarybchik# endif 59283514Sarybchik#endif /* EFSYS_OPT_CHECK_REG */ 60283514Sarybchik 61283514Sarybchik/* Decode fatal errors */ 62283514Sarybchik#if EFSYS_OPT_DECODE_INTR_FATAL 63283514Sarybchik# 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 */ 69283514Sarybchik#if EFSYS_OPT_DIAG 70293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 71293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 72293974Sarybchik# error "DIAG requires FALCON or SIENA or HUNTINGTON or MEDFORD" 73283514Sarybchik# endif 74283514Sarybchik#endif /* EFSYS_OPT_DIAG */ 75283514Sarybchik 76283514Sarybchik/* Support optimized EVQ data access */ 77283514Sarybchik#if EFSYS_OPT_EV_PREFETCH 78293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 79293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 80293974Sarybchik# error "EV_PREFETCH requires FALCON or SIENA or HUNTINGTON or MEDFORD" 81283514Sarybchik# endif 82283514Sarybchik#endif /* EFSYS_OPT_EV_PREFETCH */ 83283514Sarybchik 84283514Sarybchik/* 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" 88283514Sarybchik# endif 89283514Sarybchik#endif /* EFSYS_OPT_FALCON_NIC_CFG_OVERRIDE */ 90283514Sarybchik 91283514Sarybchik/* Support hardware packet filters */ 92283514Sarybchik#if EFSYS_OPT_FILTER 93293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 94293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 95293974Sarybchik# error "FILTER requires FALCON or SIENA or HUNTINGTON or MEDFORD" 96283514Sarybchik# endif 97283514Sarybchik#endif /* EFSYS_OPT_FILTER */ 98283514Sarybchik 99293974Sarybchik#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 100283514Sarybchik# if !EFSYS_OPT_FILTER 101293974Sarybchik# error "HUNTINGTON or MEDFORD requires FILTER" 102283514Sarybchik# endif 103283514Sarybchik#endif /* EFSYS_OPT_HUNTINGTON */ 104283514Sarybchik 105283514Sarybchik/* Support hardware loopback modes */ 106283514Sarybchik#if EFSYS_OPT_LOOPBACK 107293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 108293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 109293974Sarybchik# error "LOOPBACK requires FALCON or SIENA or HUNTINGTON or MEDFORD" 110283514Sarybchik# endif 111283514Sarybchik#endif /* EFSYS_OPT_LOOPBACK */ 112283514Sarybchik 113283514Sarybchik/* Support Falcon GMAC */ 114283514Sarybchik#if EFSYS_OPT_MAC_FALCON_GMAC 115283514Sarybchik# if !EFSYS_OPT_FALCON 116283514Sarybchik# error "MAC_FALCON_GMAC requires FALCON" 117283514Sarybchik# endif 118283514Sarybchik#endif /* EFSYS_OPT_MAC_FALCON_GMAC */ 119283514Sarybchik 120283514Sarybchik/* Support Falcon XMAC */ 121283514Sarybchik#if EFSYS_OPT_MAC_FALCON_XMAC 122283514Sarybchik# if !EFSYS_OPT_FALCON 123283514Sarybchik# 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 129293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 130293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 131293974Sarybchik# error "MAC_STATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 132283514Sarybchik# endif 133283514Sarybchik#endif /* EFSYS_OPT_MAC_STATS */ 134283514Sarybchik 135283514Sarybchik/* Support management controller messages */ 136283514Sarybchik#if EFSYS_OPT_MCDI 137293974Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 138293974Sarybchik# error "MCDI requires SIENA or HUNTINGTON or MEDFORD" 139283514Sarybchik# endif 140283514Sarybchik#endif /* EFSYS_OPT_MCDI */ 141283514Sarybchik 142293974Sarybchik#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 143293974Sarybchik# if !EFSYS_OPT_MCDI 144293974Sarybchik# error "SIENA or HUNTINGTON or MEDFORD requires MCDI" 145293974Sarybchik# endif 146283514Sarybchik#endif 147283514Sarybchik 148293939Sarybchik/* Support MCDI logging */ 149293939Sarybchik#if EFSYS_OPT_MCDI_LOGGING 150293939Sarybchik# if !EFSYS_OPT_MCDI 151293939Sarybchik# error "MCDI_LOGGING requires MCDI" 152293939Sarybchik# endif 153293939Sarybchik#endif /* EFSYS_OPT_MCDI_LOGGING */ 154293939Sarybchik 155293958Sarybchik/* Support MCDI proxy authorization */ 156293958Sarybchik#if EFSYS_OPT_MCDI_PROXY_AUTH 157293958Sarybchik# if !EFSYS_OPT_MCDI 158293958Sarybchik# error "MCDI_PROXY_AUTH requires MCDI" 159293958Sarybchik# endif 160293958Sarybchik#endif /* EFSYS_OPT_MCDI_PROXY_AUTH */ 161293958Sarybchik 162283514Sarybchik/* Support LM87 monitor */ 163283514Sarybchik#if EFSYS_OPT_MON_LM87 164283514Sarybchik# if !EFSYS_OPT_FALCON 165283514Sarybchik# error "MON_LM87 requires FALCON" 166283514Sarybchik# endif 167283514Sarybchik#endif /* EFSYS_OPT_MON_LM87 */ 168283514Sarybchik 169283514Sarybchik/* Support MAX6647 monitor */ 170283514Sarybchik#if EFSYS_OPT_MON_MAX6647 171283514Sarybchik# if !EFSYS_OPT_FALCON 172283514Sarybchik# error "MON_MAX6647 requires FALCON" 173283514Sarybchik# endif 174283514Sarybchik#endif /* EFSYS_OPT_MON_MAX6647 */ 175283514Sarybchik 176283514Sarybchik/* Support null monitor */ 177283514Sarybchik#if EFSYS_OPT_MON_NULL 178283514Sarybchik# if !EFSYS_OPT_FALCON 179283514Sarybchik# error "MON_NULL requires FALCON" 180283514Sarybchik# endif 181283514Sarybchik#endif /* EFSYS_OPT_MON_NULL */ 182283514Sarybchik 183293999Sarybchik/* Obsolete option */ 184283514Sarybchik#ifdef EFSYS_OPT_MON_SIENA 185293999Sarybchik# error "MON_SIENA is obsolete (replaced by MON_MCDI)." 186283514Sarybchik#endif /* EFSYS_OPT_MON_SIENA*/ 187283514Sarybchik 188293999Sarybchik/* Obsolete option */ 189283514Sarybchik#ifdef EFSYS_OPT_MON_HUNTINGTON 190293999Sarybchik# 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 195293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 196293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 197293974Sarybchik# error "MON_STATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 198283514Sarybchik# endif 199283514Sarybchik#endif /* EFSYS_OPT_MON_STATS */ 200283514Sarybchik 201283514Sarybchik/* Support Monitor via mcdi */ 202283514Sarybchik#if EFSYS_OPT_MON_MCDI 203293974Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 204293974Sarybchik# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD" 205283514Sarybchik# endif 206283514Sarybchik#endif /* EFSYS_OPT_MON_MCDI*/ 207283514Sarybchik 208283514Sarybchik/* Support printable names for statistics */ 209283514Sarybchik#if EFSYS_OPT_NAMES 210283514Sarybchik# if !(EFSYS_OPT_LOOPBACK || EFSYS_OPT_MAC_STATS || EFSYS_OPT_MCDI || \ 211283514Sarybchik EFSYS_MON_STATS || EFSYS_OPT_PHY_PROPS || EFSYS_OPT_PHY_STATS || \ 212283514Sarybchik EFSYS_OPT_QSTATS) 213283514Sarybchik# error "NAMES requires LOOPBACK or xxxSTATS or MCDI or PHY_PROPS" 214283514Sarybchik# endif 215283514Sarybchik#endif /* EFSYS_OPT_NAMES */ 216283514Sarybchik 217283514Sarybchik/* Support non volatile configuration */ 218283514Sarybchik#if EFSYS_OPT_NVRAM 219293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 220293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 221293974Sarybchik# error "NVRAM requires FALCON or SIENA or HUNTINGTON or MEDFORD" 222283514Sarybchik# endif 223283514Sarybchik#endif /* EFSYS_OPT_NVRAM */ 224283514Sarybchik 225283514Sarybchik/* Support Falcon bootrom */ 226283514Sarybchik#if EFSYS_OPT_NVRAM_FALCON_BOOTROM 227283514Sarybchik# if !EFSYS_OPT_NVRAM 228283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires NVRAM" 229283514Sarybchik# endif 230283514Sarybchik# 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 */ 236283514Sarybchik#if EFSYS_OPT_NVRAM_SFT9001 237283514Sarybchik# if !EFSYS_OPT_NVRAM 238283514Sarybchik# error "NVRAM_SFT9001 requires NVRAM" 239283514Sarybchik# endif 240283514Sarybchik# if !EFSYS_OPT_FALCON 241283514Sarybchik# error "NVRAM_SFT9001 requires FALCON" 242283514Sarybchik# endif 243283514Sarybchik#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" 252283514Sarybchik# endif 253283514Sarybchik#endif /* EFSYS_OPT_NVRAM_SFX7101 */ 254283514Sarybchik 255283514Sarybchik/* Support PCIe interface tuning */ 256283514Sarybchik#if EFSYS_OPT_PCIE_TUNE 257283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 258283514Sarybchik# error "PCIE_TUNE requires FALCON or SIENA" 259283514Sarybchik# endif 260283514Sarybchik#endif /* EFSYS_OPT_PCIE_TUNE */ 261283514Sarybchik 262293999Sarybchik/* Obsolete option */ 263283514Sarybchik#if EFSYS_OPT_PHY_BIST 264293999Sarybchik# error "PHY_BIST is obsolete (replaced by BIST)." 265283514Sarybchik#endif /* EFSYS_OPT_PHY_BIST */ 266283514Sarybchik 267283514Sarybchik/* Support PHY flags */ 268283514Sarybchik#if EFSYS_OPT_PHY_FLAGS 269283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 270283514Sarybchik# error "PHY_FLAGS requires FALCON or SIENA" 271283514Sarybchik# endif 272283514Sarybchik#endif /* EFSYS_OPT_PHY_FLAGS */ 273283514Sarybchik 274283514Sarybchik/* Support for PHY LED control */ 275283514Sarybchik#if EFSYS_OPT_PHY_LED_CONTROL 276283514Sarybchik# 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 */ 289283514Sarybchik#ifdef EFSYS_OPT_PHY_PM8358 290283514Sarybchik# error "EFSYS_OPT_PHY_PM8358 is obsolete and is not supported." 291283514Sarybchik#endif 292283514Sarybchik 293283514Sarybchik/* Support PHY properties */ 294283514Sarybchik#if EFSYS_OPT_PHY_PROPS 295283514Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) 296283514Sarybchik# error "PHY_PROPS requires FALCON or SIENA" 297283514Sarybchik# endif 298283514Sarybchik#endif /* EFSYS_OPT_PHY_PROPS */ 299283514Sarybchik 300283514Sarybchik/* Support QT2022C2 PHY */ 301283514Sarybchik#if EFSYS_OPT_PHY_QT2022C2 302283514Sarybchik# 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) */ 308283514Sarybchik#if EFSYS_OPT_PHY_QT2025C 309283514Sarybchik# 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) */ 315283514Sarybchik#if EFSYS_OPT_PHY_SFT9001 316283514Sarybchik# if !EFSYS_OPT_FALCON 317283514Sarybchik# error "PHY_SFT9001 requires FALCON" 318283514Sarybchik# endif 319283514Sarybchik#endif /* EFSYS_OPT_PHY_SFT9001 */ 320283514Sarybchik 321283514Sarybchik/* 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" 332283514Sarybchik# endif 333283514Sarybchik#endif /* EFSYS_OPT_PHY_STATS */ 334283514Sarybchik 335283514Sarybchik/* Support TXC43128 PHY (SFE4003 NIC) */ 336283514Sarybchik#if EFSYS_OPT_PHY_TXC43128 337283514Sarybchik# if !EFSYS_OPT_FALCON 338283514Sarybchik# error "PHY_TXC43128 requires FALCON" 339283514Sarybchik# endif 340283514Sarybchik#endif /* EFSYS_OPT_PHY_TXC43128 */ 341283514Sarybchik 342283514Sarybchik/* Support EVQ/RXQ/TXQ statistics */ 343283514Sarybchik#if EFSYS_OPT_QSTATS 344293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 345293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 346293974Sarybchik# error "QSTATS requires FALCON or SIENA or HUNTINGTON or MEDFORD" 347283514Sarybchik# endif 348283514Sarybchik#endif /* EFSYS_OPT_QSTATS */ 349283514Sarybchik 350294007Sarybchik/* Obsolete option */ 351294007Sarybchik#ifdef EFSYS_OPT_RX_HDR_SPLIT 352294007Sarybchik# error "RX_HDR_SPLIT is obsolete and is not supported" 353283514Sarybchik#endif /* EFSYS_OPT_RX_HDR_SPLIT */ 354283514Sarybchik 355283514Sarybchik/* Support receive scaling (RSS) */ 356283514Sarybchik#if EFSYS_OPT_RX_SCALE 357293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 358293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 359293974Sarybchik# error "RX_SCALE requires FALCON or SIENA or HUNTINGTON or MEDFORD" 360283514Sarybchik# endif 361283514Sarybchik#endif /* EFSYS_OPT_RX_SCALE */ 362283514Sarybchik 363283514Sarybchik/* Support receive scatter DMA */ 364283514Sarybchik#if EFSYS_OPT_RX_SCATTER 365293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 366293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 367293974Sarybchik# error "RX_SCATTER requires FALCON or SIENA or HUNTINGTON or MEDFORD" 368283514Sarybchik# endif 369283514Sarybchik#endif /* EFSYS_OPT_RX_SCATTER */ 370283514Sarybchik 371283514Sarybchik/* Obsolete option */ 372283514Sarybchik#ifdef EFSYS_OPT_STAT_NAME 373293999Sarybchik# error "STAT_NAME is obsolete (replaced by NAMES)." 374283514Sarybchik#endif 375283514Sarybchik 376283514Sarybchik/* Support PCI Vital Product Data (VPD) */ 377283514Sarybchik#if EFSYS_OPT_VPD 378293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 379293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 380293974Sarybchik# error "VPD requires FALCON or SIENA or HUNTINGTON or MEDFORD" 381283514Sarybchik# endif 382283514Sarybchik#endif /* EFSYS_OPT_VPD */ 383283514Sarybchik 384283514Sarybchik/* Support Wake on LAN */ 385283514Sarybchik#if EFSYS_OPT_WOL 386283514Sarybchik# if !EFSYS_OPT_SIENA 387283514Sarybchik# error "WOL requires SIENA" 388283514Sarybchik# endif 389283514Sarybchik#endif /* EFSYS_OPT_WOL */ 390283514Sarybchik 391293992Sarybchik/* Obsolete option */ 392293992Sarybchik#ifdef EFSYS_OPT_MCAST_FILTER_LIST 393293999Sarybchik# error "MCAST_FILTER_LIST is obsolete and is not supported" 394283514Sarybchik#endif /* EFSYS_OPT_MCAST_FILTER_LIST */ 395283514Sarybchik 396283514Sarybchik/* Support BIST */ 397283514Sarybchik#if EFSYS_OPT_BIST 398293974Sarybchik# if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA || \ 399293974Sarybchik EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 400293974Sarybchik# error "BIST requires FALCON or SIENA or HUNTINGTON or MEDFORD" 401283514Sarybchik# endif 402283514Sarybchik#endif /* EFSYS_OPT_BIST */ 403283514Sarybchik 404283514Sarybchik#endif /* _SYS_EFX_CHECK_H */ 405