summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/nve/drvinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/nve/drvinfo.h')
-rw-r--r--sys/contrib/dev/nve/drvinfo.h190
1 files changed, 190 insertions, 0 deletions
diff --git a/sys/contrib/dev/nve/drvinfo.h b/sys/contrib/dev/nve/drvinfo.h
new file mode 100644
index 0000000..41c659a
--- /dev/null
+++ b/sys/contrib/dev/nve/drvinfo.h
@@ -0,0 +1,190 @@
+/***************************************************************************\
+|* *|
+|* Copyright 2001-2003 NVIDIA, Corporation. All rights reserved. *|
+|* *|
+|* THE INFORMATION CONTAINED HEREIN IS PROPRIETARY AND CONFIDENTIAL *|
+|* TO NVIDIA, CORPORATION. USE, REPRODUCTION OR DISCLOSURE TO ANY *|
+|* THIRD PARTY IS SUBJECT TO WRITTEN PRE-APPROVAL BY NVIDIA, CORP. *|
+|* *|
+|* THE INFORMATION CONTAINED HEREIN IS PROVIDED "AS IS" WITHOUT *|
+|* EXPRESS OR IMPLIED WARRANTY OF ANY KIND, INCLUDING ALL IMPLIED *|
+|* WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A *|
+|* PARTICULAR PURPOSE. *|
+|* *|
+\***************************************************************************/
+
+/*
+ * This file contains the header info common to the network drivers and applications.
+ * Currently, these applications include ASF, co-installers, and qstats.
+ *
+ *
+ */
+
+#ifndef _DRVINFO_H_
+#define _DRVINFO_H_
+
+// Switch to byte packing, regardless of global packing specified by the compiler switch
+#pragma pack(1)
+
+//////////////////////////////////////////////////////////////////
+// For the ADAPTER_GetStatistics call used by qstats. This
+// is the template used by the legacy driver.
+#define MAX_TRANSMIT_COLISION_STATS 16
+
+#define ADAPTER_STATS_LEGACY_VERSION 1
+#define ADAPTER_STATS_RM_VERSION 2
+
+typedef struct _ADAPTER_STATS_V1
+{
+ NV_UINT32 ulVersion;
+
+ NV_UINT32 ulSuccessfulTransmissions;
+ NV_UINT32 ulFailedTransmissions;
+ NV_UINT32 ulRetryErrors;
+ NV_UINT32 ulUnderflowErrors;
+ NV_UINT32 ulLossOfCarrierErrors;
+ NV_UINT32 ulLateCollisionErrors;
+ NV_UINT32 ulDeferredTransmissions;
+ NV_UINT32 ulExcessDeferredTransmissions;
+ NV_UINT32 aulSuccessfulTransmitsAfterCollisions[MAX_TRANSMIT_COLISION_STATS];
+
+ NV_UINT32 ulMissedFrames;
+ NV_UINT32 ulSuccessfulReceptions;
+ NV_UINT32 ulFailedReceptions;
+ NV_UINT32 ulCRCErrors;
+ NV_UINT32 ulFramingErrors;
+ NV_UINT32 ulOverFlowErrors;
+ NV_UINT32 ulFrameErrorsPrivate; //Not for public.
+ NV_UINT32 ulNullBufferReceivePrivate; //Not for public, These are the packets which we didn't indicate to OS
+
+ //interrupt related statistics
+ NV_UINT32 ulRxInterrupt;
+ NV_UINT32 ulRxInterruptUnsuccessful;
+ NV_UINT32 ulTxInterrupt;
+ NV_UINT32 ulTxInterruptUnsuccessful;
+ NV_UINT32 ulPhyInterrupt;
+
+} ADAPTER_STATS_V1, *PADAPTER_STATS_V1;
+//////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////
+// For the ADAPTER_GetStatistics call used by qstats. This
+// is the template used by the FD.
+typedef struct _ADAPTER_STATS
+{
+ NV_UINT32 ulVersion;
+ NV_UINT8 ulMacAddress[6];
+
+ //
+ // Tx counters.
+ //
+ NV_UINT64 ulSuccessfulTransmissions;
+ NV_UINT64 ulFailedTransmissions;
+ NV_UINT64 ulRetryErrors;
+ NV_UINT64 ulUnderflowErrors;
+ NV_UINT64 ulLossOfCarrierErrors;
+ NV_UINT64 ulLateCollisionErrors;
+ NV_UINT64 ulDeferredTransmissions;
+ NV_UINT64 ulExcessDeferredTransmissions;
+ NV_UINT64 aulSuccessfulTransmitsAfterCollisions[MAX_TRANSMIT_COLISION_STATS];
+
+ //
+ // New Tx counters for GigE.
+ //
+ NV_UINT64 ulTxByteCount;
+
+ //
+ // Rx counters.
+ //
+ NV_UINT64 ulMissedFrames;
+ NV_UINT64 ulSuccessfulReceptions;
+ NV_UINT64 ulFailedReceptions;
+ NV_UINT64 ulCRCErrors;
+ NV_UINT64 ulLengthErrors;
+ NV_UINT64 ulFramingErrors;
+ NV_UINT64 ulOverFlowErrors;
+ NV_UINT64 ulRxNoBuffer;
+ NV_UINT64 ulFrameErrorsPrivate; //Not for public.
+ NV_UINT64 ulNullBufferReceivePrivate; //Not for public, These are the packets which we didn't indicate to OS
+
+ //
+ // New Rx counters for GigE.
+ //
+ NV_UINT64 ulRxExtraByteCount;
+ NV_UINT64 ulRxFrameTooLongCount;
+ NV_UINT64 ulRxFrameAlignmentErrorCount;
+ NV_UINT64 ulRxLateCollisionErrors;
+ NV_UINT64 ulRxRuntPacketErrors;
+
+ NV_UINT64 ulRxUnicastFrameCount;
+ NV_UINT64 ulRxMulticastFrameCount;
+ NV_UINT64 ulRxBroadcastFrameCount;
+ NV_UINT64 ulRxPromiscuousModeFrameCount;
+
+ //Interrupt related statistics
+ NV_UINT64 ulRxInterrupt;
+ NV_UINT64 ulRxInterruptUnsuccessful;
+ NV_UINT64 ulTxInterrupt;
+ NV_UINT64 ulTxInterruptUnsuccessful;
+ NV_UINT64 ulPhyInterrupt;
+
+
+ //
+ // Handy things to know
+ //
+ NV_UINT64 ulDescriptorVersion;
+ NV_UINT64 ulPollingCfg; // configured for cpu or throughput
+ NV_UINT64 ulPollingState; // current optimizefor state.
+
+ NV_UINT64 ulNumTxDesc;
+ NV_UINT64 ulNumRxDesc;
+
+ //
+ // Useful to determine if TX is stuck.
+ //
+ NV_UINT64 ulNumTxPktsQueued;
+ NV_UINT64 ulNumTxPktsInProgress;
+
+ //
+ // Rx Xsum Cntrs
+ //
+ NV_UINT64 ulNoRxPktsNoXsum;
+ NV_UINT64 ulNoRxPktsXsumIpPassTcpFail;
+ NV_UINT64 ulNoRxPktsXsumIpPassUdpFail;
+ NV_UINT64 ulNoRxPktsXsumIpFail;
+ NV_UINT64 ulNoRxPktsXsumIpPassNoTcpUdp;
+ NV_UINT64 ulNoRxPktsXsumIpPassTcpPass;
+ NV_UINT64 ulNoRxPktsXsumIpPassUdpPass;
+ NV_UINT64 ulNoRxPktsXsumReserved;
+
+#ifdef _PERF_LOOP_CNTRS
+ NV_UINT64 ulNumTxCmplsToProcess;
+ NV_UINT64 ulNumRxCmplsToProcess;
+ NV_UINT64 ulNumIntsToProcess;
+
+ NV_UINT64 IntLoop0Cnt;
+ NV_UINT64 IntLoop1Cnt;
+ NV_UINT64 IntLoop2Cnt;
+ NV_UINT64 IntLoop3Cnt;
+ NV_UINT64 IntLoop4Cnt;
+ NV_UINT64 IntLoop5Cnt;
+ NV_UINT64 IntLoop6To10Cnt;
+ NV_UINT64 IntLoop11Cnt;
+ NV_UINT64 IntMaxLoopCnt;
+
+ NV_UINT64 IntRxCnt0;
+ NV_UINT64 IntTxCnt0;
+
+ NV_UINT64 MaxRxLoopCnt;
+ NV_UINT64 MaxTxLoopCnt;
+
+#endif
+} ADAPTER_STATS, *PADAPTER_STATS;
+//////////////////////////////////////////////////////////////////
+
+#pragma pack()
+
+
+#endif // #define _DRVINFO_H_
+
+
OpenPOWER on IntegriCloud