reactos/drivers/network/dd/e1000/interrupt.c
Mark Jansen 4561998a45 [E1000] Create an initial driver skeleton
Based on the rtl8139 driver written by Cameron Gutman

CORE-14675
2019-02-07 19:48:54 +01:00

50 lines
1.3 KiB
C

/*
* PROJECT: ReactOS Intel PRO/1000 Driver
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Interrupt handlers
* COPYRIGHT: Copyright 2013 Cameron Gutman (cameron.gutman@reactos.org)
* Copyright 2018 Mark Jansen (mark.jansen@reactos.org)
*/
#include "nic.h"
#include <debug.h>
VOID
NTAPI
MiniportISR(
OUT PBOOLEAN InterruptRecognized,
OUT PBOOLEAN QueueMiniportHandleInterrupt,
IN NDIS_HANDLE MiniportAdapterContext)
{
PE1000_ADAPTER Adapter = (PE1000_ADAPTER)MiniportAdapterContext;
//
// FIXME: We need to synchronize with this ISR for changes to InterruptPending,
// LinkChange, MediaState, and LinkSpeedMbps. We can get away with IRQL
// synchronization on non-SMP machines because we run a DIRQL here.
//
Adapter->InterruptPending |= NICInterruptRecognized(Adapter, InterruptRecognized);
if (!(*InterruptRecognized))
{
/* This is not ours. */
*QueueMiniportHandleInterrupt = FALSE;
return;
}
UNIMPLEMENTED;
/* Acknowledge the interrupt and mark the events pending service */
NICAcknowledgeInterrupts(Adapter);
*QueueMiniportHandleInterrupt = TRUE;
}
VOID
NTAPI
MiniportHandleInterrupt(
IN NDIS_HANDLE MiniportAdapterContext)
{
NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
}