116 RxControl &= ~NVREG_RCVCTL_START;
124 RxControl &= ~NVREG_RCVCTL_RX_PATH_EN;
141 TxControl &= ~NVREG_XMITCTL_TX_PATH_EN;
156 RxControl &= ~NVREG_RCVCTL_START;
187 TxControl &= ~NVREG_XMITCTL_START;
431 MiiControl &= ~MII_CR_POWER_DOWN;
545 ULONG Temp[2], TxPoll;
559 MacAddress[0] = (Temp[0] >> 0) & 0xFF;
560 MacAddress[1] = (Temp[0] >> 8) & 0xFF;
561 MacAddress[2] = (Temp[0] >> 16) & 0xFF;
562 MacAddress[3] = (Temp[0] >> 24) & 0xFF;
563 MacAddress[4] = (Temp[1] >> 0) & 0xFF;
564 MacAddress[5] = (Temp[1] >> 8) & 0xFF;
570 MacAddress[0] = (Temp[0] >> 0) & 0xFF;
571 MacAddress[1] = (Temp[0] >> 8) & 0xFF;
572 MacAddress[2] = (Temp[0] >> 16) & 0xFF;
573 MacAddress[3] = (Temp[0] >> 24) & 0xFF;
574 MacAddress[4] = (Temp[1] >> 0) & 0xFF;
575 MacAddress[5] = (Temp[1] >> 8) & 0xFF;
582 Temp[0] = (MacAddress[5] << 0) | (MacAddress[4] << 8) |
583 (MacAddress[3] << 16) | (MacAddress[2] << 24);
584 Temp[1] = (MacAddress[1] << 0) | (MacAddress[0] << 8);
589 MacAddress[0] = (Temp[1] >> 8) & 0xFF;
590 MacAddress[1] = (Temp[1] >> 0) & 0xFF;
591 MacAddress[2] = (Temp[0] >> 24) & 0xFF;
592 MacAddress[3] = (Temp[0] >> 16) & 0xFF;
593 MacAddress[4] = (Temp[0] >> 8) & 0xFF;
594 MacAddress[5] = (Temp[0] >> 0) & 0xFF;
603 Adapter->OriginalMacAddress[0] = Temp[0];
604 Adapter->OriginalMacAddress[1] = Temp[1];
631 MacAddress[3] << 24 | MacAddress[2] << 16 | MacAddress[1] << 8 | MacAddress[0]);
693 if (PciConfig.VendorID != 0x10DE)
696 Adapter->DeviceId = PciConfig.DeviceID;
697 Adapter->RevisionId = PciConfig.RevisionID;
699 switch (PciConfig.DeviceID)
826 Adapter->VlanControl = 0;
872 switch (Adapter->FlowControlMode)
896 Adapter->Flags &= ~NV_SEND_ERRATA_PRESENT;
921 Adapter->AdapterHandle,
VOID NvNetBackoffSetSlotTime(_In_ PNVNET_ADAPTER Adapter)
BOOLEAN MiiRead(_In_ PDC21X4_ADAPTER Adapter, _In_ ULONG PhyAddress, _In_ ULONG RegAddress, _Out_ PULONG Data)
BOOLEAN MiiWrite(_In_ PDC21X4_ADAPTER Adapter, _In_ ULONG PhyAddress, _In_ ULONG RegAddress, _In_ ULONG Data)
#define ETH_IS_EMPTY(Address)
#define NDIS_DbgPrint(_t_, _x_)
ULONG EXPORT NdisReadPciSlotInformation(IN NDIS_HANDLE NdisAdapterHandle, IN ULONG SlotNumber, IN ULONG Offset, IN PVOID Buffer, IN ULONG Length)
VOID EXPORT NdisMInitializeTimer(IN OUT PNDIS_MINIPORT_TIMER Timer, IN NDIS_HANDLE MiniportAdapterHandle, IN PNDIS_TIMER_FUNCTION TimerFunction, IN PVOID FunctionContext)
#define ETH_LENGTH_OF_ADDRESS
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define NDIS_STATUS_NOT_RECOGNIZED
#define NDIS_STATUS_MEDIA_CONNECT
#define NdisMIndicateStatusComplete(MiniportAdapterHandle)
_In_ PVOID _In_ PVOID SystemSpecific2
#define NdisDprReleaseSpinLock(_SpinLock)
#define NDIS_STATUS_MEDIA_DISCONNECT
_In_ PVOID FunctionContext
#define NDIS_STATUS_INVALID_ADDRESS
#define NdisStallExecution
#define NDIS_STATUS_SUCCESS
#define NdisGetPhysicalAddressLow(PhysicalAddress)
#define NdisDprAcquireSpinLock(_SpinLock)
#define NDIS_STATUS_ADAPTER_NOT_FOUND
#define NdisGetPhysicalAddressHigh(PhysicalAddress)
#define NdisMIndicateStatus(MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
_In_ PVOID _In_ PVOID _In_ PVOID SystemSpecific3
static VOID NvNetResetMac(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetStartTransmitter(_In_ PNVNET_ADAPTER Adapter)
NDIS_STATUS NvNetRecognizeHardware(_Inout_ PNVNET_ADAPTER Adapter)
VOID NvNetStartReceiver(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetSetupMacAddress(_In_ PNVNET_ADAPTER Adapter, _In_reads_bytes_(ETH_LENGTH_OF_ADDRESS) PUCHAR MacAddress)
VOID NvNetStopReceiver(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetToggleClockPowerGating(_In_ PNVNET_ADAPTER Adapter, _In_ BOOLEAN Gate)
VOID NvNetResetReceiverAndTransmitter(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetIdleTransmitter(_In_ PNVNET_ADAPTER Adapter, _In_ BOOLEAN ClearPhyControl)
NDIS_STATUS NvNetInitNIC(_In_ PNVNET_ADAPTER Adapter, _In_ BOOLEAN InitPhy)
NDIS_STATUS NvNetGetPermanentMacAddress(_Inout_ PNVNET_ADAPTER Adapter, _Out_writes_bytes_all_(ETH_LENGTH_OF_ADDRESS) PUCHAR MacAddress)
VOID NvNetStopTransmitter(_In_ PNVNET_ADAPTER Adapter)
VOID NvNetUpdatePauseFrame(_Inout_ PNVNET_ADAPTER Adapter, _In_ ULONG PauseFlags)
static VOID NvNetValidateConfiguration(_Inout_ PNVNET_ADAPTER Adapter)
static VOID NvNetClearStatisticsCounters(_In_ PNVNET_ADAPTER Adapter)
#define _In_reads_bytes_(s)
#define _Out_writes_bytes_all_(s)
#define UNREFERENCED_PARAMETER(P)
#define NVREG_IRQSTAT_MASK
#define NVREG_TXRXCTL_DESC_2
#define NVREG_RCVCTL_RX_PATH_EN
#define NVREG_POWERSTATE_VALID
#define DEV_HAS_TEST_EXTENDED
#define NVREG_MCASTMASKB_NONE
#define DEV_HAS_POWER_CNTRL
#define NVREG_RCVCTL_START
#define DEV_HAS_TX_PAUSEFRAME
#define NVREG_TXRXCTL_DESC_3
#define NV_PAUSEFRAME_TX_REQ
#define DEV_HAS_STATISTICS_V1
#define NV_WAKEUPPATTERNS_V2
#define NV_TXRX_RESET_DELAY
#define DEV_NEED_PHY_INIT_FIX
#define NVREG_MISC1_FORCE
#define NVREG_XMITCTL_START
#define NV_PAUSEFRAME_AUTONEG
#define NV_SETUP5_DELAYMAX
#define NVREG_TX_WM_DESC1_DEFAULT
#define DEV_HAS_LARGEDESC
#define NV_PAUSEFRAME_RX_CAPABLE
#define NVREG_TXRXCTL_BIT1
#define NV_RXSTOP_DELAY1MAX
#define NVREG_POWERSTATE2_GATE_CLOCKS
#define NVREG_UNKSETUP6_VAL
#define DEV_HAS_PAUSEFRAME_TX_V1
#define NVREG_MISC1_PAUSE_TX
#define DEV_HAS_COLLISION_FIX
#define NVREG_TX_DEFERRAL_DEFAULT
#define NV_PAUSEFRAME_RX_ENABLE
#define DEV_NEED_LINKTIMER
#define DEV_HAS_STATISTICS_COUNTERS
#define NVREG_TXRXCTL_BIT2
#define NV_TXSTOP_DELAY1MAX
#define DEV_HAS_STATISTICS_V2
#define NVREG_POLL_DEFAULT_THROUGHPUT
#define DEV_HAS_PAUSEFRAME_TX_V3
#define NVREG_XMITCTL_TX_PATH_EN
#define NVREG_RCVSTAT_BUSY
#define NVREG_MAC_RESET_ASSERT
#define NVREG_ADAPTCTL_PHYVALID
enum _NVNET_REGISTER NVNET_REGISTER
#define NVREG_POLL_DEFAULT_CPU
#define DEV_HAS_GEAR_MODE
#define NVREG_TXRXCTL_RESET
#define NVREG_TX_WM_DESC2_3_DEFAULT
#define NV_MAC_RESET_DELAY
#define NVREG_ADAPTCTL_RUNNING
#define NV_PAUSEFRAME_TX_CAPABLE
#define NVREG_MIISTAT_MASK_ALL
#define NVREG_ADAPTCTL_PHYSHIFT
#define NVREG_XMITSTAT_BUSY
#define DEV_HAS_STATISTICS_V3
#define NVREG_TXRXCTL_IDLE
#define NVREG_TX_PAUSEFRAME_ENABLE_V3
#define NVREG_IRQMASK_CPU
#define NV_TXIDLE_ATTEMPTS
#define NVREG_IRQMASK_THROUGHPUT
#define DEV_NEED_TX_LIMIT
#define NVREG_TX_PAUSEFRAMELIMIT_ENABLE
#define DEV_HAS_MGMT_UNIT
#define NVREG_RX_DEFERRAL_DEFAULT
#define NVREG_MCASTMASKA_NONE
#define NV_PAUSEFRAME_TX_ENABLE
#define DEV_HAS_PAUSEFRAME_TX_V2
#define NVREG_TRANSMITPOLL_MAC_ADDR_REV
#define NVREG_TX_PAUSEFRAME_ENABLE_V2
#define DEV_HAS_CORRECT_MACADDR
#define DEV_NEED_TX_LIMIT2
#define NVREG_UNKSETUP5_BIT31
#define NVREG_RINGSZ_RXSHIFT
#define NV_WAKEUPPATTERNS
#define NVREG_MII_LINKCHANGE
#define NVREG_MIISPEED_BIT8
#define NVREG_LINKSPEED_FORCE
#define DEV_NEED_LOW_POWER_FIX
#define NVREG_LINKSPEED_10
#define NVREG_TXRXCTL_DESC_1
#define NVREG_TX_PAUSEFRAME_ENABLE_V1
@ NvRegRxRingPhysAddrHigh
@ NvRegTxRingPhysAddrHigh
@ NvRegTransmitterControl
#define NVREG_RINGSZ_TXSHIFT
#define DEV_NEED_TIMERIRQ
#define NVREG_TX_PAUSEFRAME_DISABLE
#define NVREG_PFF_PAUSE_RX
#define NV_PAUSEFRAME_RX_REQ
#define NVNET_RECEIVE_DESCRIPTORS
@ NV_OPTIMIZATION_MODE_CPU
@ NV_OPTIMIZATION_MODE_DYNAMIC
@ NV_OPTIMIZATION_MODE_THROUGHPUT
#define NVNET_MAXIMUM_FRAME_SIZE
KSYNCHRONIZE_ROUTINE NvNetInitPhaseSynchronized
#define NV_PACKET_PRIORITY
#define NV_SEND_LARGE_SEND
BOOLEAN NvNetUpdateLinkSpeed(_In_ PNVNET_ADAPTER Adapter)
#define NvNetApplyInterruptMask(Adapter)
NDIS_TIMER_FUNCTION NvNetMediaDetectionDpc
#define NV_SEND_ERRATA_PRESENT
FORCEINLINE VOID NV_WRITE(_In_ PNVNET_ADAPTER Adapter, _In_ NVNET_REGISTER Register, _In_ ULONG Value)
FORCEINLINE ULONG NV_READ(_In_ PNVNET_ADAPTER Adapter, _In_ NVNET_REGISTER Register)
#define NVNET_TRANSMIT_DESCRIPTORS
NDIS_STATUS NvNetPhyInit(_In_ PNVNET_ADAPTER Adapter)
NDIS_HANDLE AdapterHandle
static LARGE_INTEGER Counter
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE PowerState
#define PCI_COMMON_HDR_LENGTH
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
#define ETH_IS_MULTICAST(Address)