Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/net/ethernet/sfc/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 5 kB image not shown  

Quelle  enum.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/****************************************************************************
 * Driver for Solarflare network controllers and boards
 * Copyright 2007-2013 Solarflare Communications Inc.
 */


#ifndef EFX_ENUM_H
#define EFX_ENUM_H

/**
 * enum efx_loopback_mode - loopback modes
 * @LOOPBACK_NONE: no loopback
 * @LOOPBACK_DATA: data path loopback
 * @LOOPBACK_GMAC: loopback within GMAC
 * @LOOPBACK_XGMII: loopback after XMAC
 * @LOOPBACK_XGXS: loopback within BPX after XGXS
 * @LOOPBACK_XAUI: loopback within BPX before XAUI serdes
 * @LOOPBACK_GMII: loopback within BPX after GMAC
 * @LOOPBACK_SGMII: loopback within BPX within SGMII
 * @LOOPBACK_XGBR: loopback within BPX within XGBR
 * @LOOPBACK_XFI: loopback within BPX before XFI serdes
 * @LOOPBACK_XAUI_FAR: loopback within BPX after XAUI serdes
 * @LOOPBACK_GMII_FAR: loopback within BPX before SGMII
 * @LOOPBACK_SGMII_FAR: loopback within BPX after SGMII
 * @LOOPBACK_XFI_FAR: loopback after XFI serdes
 * @LOOPBACK_GPHY: loopback within 1G PHY at unspecified level
 * @LOOPBACK_PHYXS: loopback within 10G PHY at PHYXS level
 * @LOOPBACK_PCS: loopback within 10G PHY at PCS level
 * @LOOPBACK_PMAPMD: loopback within 10G PHY at PMAPMD level
 * @LOOPBACK_XPORT: cross port loopback
 * @LOOPBACK_XGMII_WS: wireside loopback excluding XMAC
 * @LOOPBACK_XAUI_WS: wireside loopback within BPX within XAUI serdes
 * @LOOPBACK_XAUI_WS_FAR: wireside loopback within BPX including XAUI serdes
 * @LOOPBACK_XAUI_WS_NEAR: wireside loopback within BPX excluding XAUI serdes
 * @LOOPBACK_GMII_WS: wireside loopback excluding GMAC
 * @LOOPBACK_XFI_WS: wireside loopback excluding XFI serdes
 * @LOOPBACK_XFI_WS_FAR: wireside loopback including XFI serdes
 * @LOOPBACK_PHYXS_WS: wireside loopback within 10G PHY at PHYXS level
 */

/* Please keep up-to-date w.r.t the following two #defines */
enum efx_loopback_mode {
 LOOPBACK_NONE = 0,
 LOOPBACK_DATA = 1,
 LOOPBACK_GMAC = 2,
 LOOPBACK_XGMII = 3,
 LOOPBACK_XGXS = 4,
 LOOPBACK_XAUI = 5,
 LOOPBACK_GMII = 6,
 LOOPBACK_SGMII = 7,
 LOOPBACK_XGBR = 8,
 LOOPBACK_XFI = 9,
 LOOPBACK_XAUI_FAR = 10,
 LOOPBACK_GMII_FAR = 11,
 LOOPBACK_SGMII_FAR = 12,
 LOOPBACK_XFI_FAR = 13,
 LOOPBACK_GPHY = 14,
 LOOPBACK_PHYXS = 15,
 LOOPBACK_PCS = 16,
 LOOPBACK_PMAPMD = 17,
 LOOPBACK_XPORT = 18,
 LOOPBACK_XGMII_WS = 19,
 LOOPBACK_XAUI_WS = 20,
 LOOPBACK_XAUI_WS_FAR = 21,
 LOOPBACK_XAUI_WS_NEAR = 22,
 LOOPBACK_GMII_WS = 23,
 LOOPBACK_XFI_WS = 24,
 LOOPBACK_XFI_WS_FAR = 25,
 LOOPBACK_PHYXS_WS = 26,
 LOOPBACK_MAX
};
#define LOOPBACK_TEST_MAX LOOPBACK_PMAPMD

/* These loopbacks occur within the controller */
#define LOOPBACKS_INTERNAL ((1 << LOOPBACK_DATA) |  \
       (1 << LOOPBACK_GMAC) |  \
       (1 << LOOPBACK_XGMII)|  \
       (1 << LOOPBACK_XGXS) |  \
       (1 << LOOPBACK_XAUI) |  \
       (1 << LOOPBACK_GMII) |  \
       (1 << LOOPBACK_SGMII) |  \
       (1 << LOOPBACK_XGBR) |  \
       (1 << LOOPBACK_XFI) |  \
       (1 << LOOPBACK_XAUI_FAR) |  \
       (1 << LOOPBACK_GMII_FAR) |  \
       (1 << LOOPBACK_SGMII_FAR) |  \
       (1 << LOOPBACK_XFI_FAR) |  \
       (1 << LOOPBACK_XGMII_WS) |  \
       (1 << LOOPBACK_XAUI_WS) |  \
       (1 << LOOPBACK_XAUI_WS_FAR) | \
       (1 << LOOPBACK_XAUI_WS_NEAR) | \
       (1 << LOOPBACK_GMII_WS) |  \
       (1 << LOOPBACK_XFI_WS) |  \
       (1 << LOOPBACK_XFI_WS_FAR))

#define LOOPBACKS_WS ((1 << LOOPBACK_XGMII_WS) |  \
        (1 << LOOPBACK_XAUI_WS) |   \
        (1 << LOOPBACK_XAUI_WS_FAR) |  \
        (1 << LOOPBACK_XAUI_WS_NEAR) |  \
        (1 << LOOPBACK_GMII_WS) |   \
        (1 << LOOPBACK_XFI_WS) |   \
        (1 << LOOPBACK_XFI_WS_FAR) |  \
        (1 << LOOPBACK_PHYXS_WS))

#define LOOPBACKS_EXTERNAL(_efx)     \
 ((_efx)->loopback_modes & ~LOOPBACKS_INTERNAL &   \
  ~(1 << LOOPBACK_NONE))

#define LOOPBACK_MASK(_efx)   \
 (1 << (_efx)->loopback_mode)

#define LOOPBACK_INTERNAL(_efx)    \
 (!!(LOOPBACKS_INTERNAL & LOOPBACK_MASK(_efx)))

#define LOOPBACK_EXTERNAL(_efx)    \
 (!!(LOOPBACK_MASK(_efx) & LOOPBACKS_EXTERNAL(_efx)))

#define LOOPBACK_CHANGED(_from, _to, _mask)    \
 (!!((LOOPBACK_MASK(_from) ^ LOOPBACK_MASK(_to)) & (_mask)))

#define LOOPBACK_OUT_OF(_from, _to, _mask)    \
 ((LOOPBACK_MASK(_from) & (_mask)) && !(LOOPBACK_MASK(_to) & (_mask)))

/*****************************************************************************/

/**
 * enum reset_type - reset types
 *
 * %RESET_TYPE_INVSIBLE, %RESET_TYPE_ALL, %RESET_TYPE_WORLD and
 * %RESET_TYPE_DISABLE specify the method/scope of the reset.  The
 * other valuesspecify reasons, which efx_schedule_reset() will choose
 * a method for.
 *
 * Reset methods are numbered in order of increasing scope.
 *
 * @RESET_TYPE_INVISIBLE: Reset datapath and MAC (Falcon only)
 * @RESET_TYPE_RECOVER_OR_ALL: Try to recover. Apply RESET_TYPE_ALL
 * if unsuccessful.
 * @RESET_TYPE_ALL: Reset datapath, MAC and PHY
 * @RESET_TYPE_WORLD: Reset as much as possible
 * @RESET_TYPE_RECOVER_OR_DISABLE: Try to recover. Apply RESET_TYPE_DISABLE if
 * unsuccessful.
 * @RESET_TYPE_DATAPATH: Reset datapath only.
 * @RESET_TYPE_MC_BIST: MC entering BIST mode.
 * @RESET_TYPE_DISABLE: Reset datapath, MAC and PHY; leave NIC disabled
 * @RESET_TYPE_TX_WATCHDOG: reset due to TX watchdog
 * @RESET_TYPE_INT_ERROR: reset due to internal error
 * @RESET_TYPE_DMA_ERROR: DMA error
 * @RESET_TYPE_TX_SKIP: hardware completed empty tx descriptors
 * @RESET_TYPE_MC_FAILURE: MC reboot/assertion
 * @RESET_TYPE_MCDI_TIMEOUT: MCDI timeout.
 */

enum reset_type {
 RESET_TYPE_INVISIBLE,
 RESET_TYPE_RECOVER_OR_ALL,
 RESET_TYPE_ALL,
 RESET_TYPE_WORLD,
 RESET_TYPE_RECOVER_OR_DISABLE,
 RESET_TYPE_DATAPATH,
 RESET_TYPE_MC_BIST,
 RESET_TYPE_DISABLE,
 RESET_TYPE_MAX_METHOD,
 RESET_TYPE_TX_WATCHDOG,
 RESET_TYPE_INT_ERROR,
 RESET_TYPE_DMA_ERROR,
 RESET_TYPE_TX_SKIP,
 RESET_TYPE_MC_FAILURE,
 /* RESET_TYPE_MCDI_TIMEOUT is actually a method, not just a reason, but
 * it doesn't fit the scope hierarchy (not well-ordered by inclusion).
 * We encode this by having its enum value be greater than
 * RESET_TYPE_MAX_METHOD.
 */

 RESET_TYPE_MCDI_TIMEOUT,
 RESET_TYPE_MAX,
};

#endif /* EFX_ENUM_H */

Messung V0.5
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.