ReactOS 0.4.16-dev-2293-g4d8327b
driver.h File Reference
#include <ntddk.h>
#include <initguid.h>
#include <windef.h>
#include <winerror.h>
#include <wingdi.h>
#include <d3dkmddi.h>
#include <d3dkmthk.h>
#include <wdm.h>
#include <wdmguid.h>
#include "wdf.h"
#include <ntintsafe.h>
#include <ntstrsafe.h>
#include <hdaudio.h>
#include <portcls.h>
#include "hda_registers.h"
#include "fdo.h"
#include "buspdo.h"
#include "hdac_controller.h"
#include "hdac_stream.h"
#include "hda_verbs.h"
#include "regfuncs.h"
Include dependency graph for driver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define POOL_ZERO_DOWN_LEVEL_SUPPORT
 
#define __CPLUSPLUS
 
#define DRIVERNAME   "sklhdaudbus.sys: "
 
#define SKLHDAUDBUS_POOL_TAG   'SADH'
 
#define VEN_INTEL   0x8086
 
#define VEN_ATI   0x1002
 
#define VEN_AMD   0x1022
 
#define VEN_NVIDIA   0x10DE
 
#define VEN_VMWARE   0x15AD
 
#define IS_BXT(ven, dev)   (ven == VEN_INTEL && dev == 0x5a98)
 
#define SklHdAudBusPrint(dbglevel, fmt, ...)
 

Functions

NTSTATUS HDA_WaitForTransfer (PFDO_CONTEXT fdoCtx, UINT16 codecAddr, _In_ ULONG Count, _Inout_updates_(Count) PHDAUDIO_CODEC_TRANSFER CodecTransfer)
 
HDAUDIO_BUS_INTERFACE HDA_BusInterface (PVOID Context)
 
HDAUDIO_BUS_INTERFACE_V2 HDA_BusInterfaceV2 (PVOID Context)
 
HDAUDIO_BUS_INTERFACE_V3 HDA_BusInterfaceV3 (PVOID Context)
 
HDAUDIO_BUS_INTERFACE_BDL HDA_BusInterfaceBDL (PVOID Context)
 
static void mdelay (LONG msec)
 
static void udelay (LONG usec)
 

Macro Definition Documentation

◆ __CPLUSPLUS

#define __CPLUSPLUS

Definition at line 14 of file driver.h.

◆ DRIVERNAME

#define DRIVERNAME   "sklhdaudbus.sys: "

Definition at line 42 of file driver.h.

◆ IS_BXT

#define IS_BXT (   ven,
  dev 
)    (ven == VEN_INTEL && dev == 0x5a98)

Definition at line 72 of file driver.h.

◆ POOL_ZERO_DOWN_LEVEL_SUPPORT

#define POOL_ZERO_DOWN_LEVEL_SUPPORT

Definition at line 4 of file driver.h.

◆ SKLHDAUDBUS_POOL_TAG

#define SKLHDAUDBUS_POOL_TAG   'SADH'

Definition at line 44 of file driver.h.

◆ SklHdAudBusPrint

#define SklHdAudBusPrint (   dbglevel,
  fmt,
  ... 
)
Value:
{ \
}

Definition at line 111 of file driver.h.

◆ VEN_AMD

#define VEN_AMD   0x1022

Definition at line 48 of file driver.h.

◆ VEN_ATI

#define VEN_ATI   0x1002

Definition at line 47 of file driver.h.

◆ VEN_INTEL

#define VEN_INTEL   0x8086

Definition at line 46 of file driver.h.

◆ VEN_NVIDIA

#define VEN_NVIDIA   0x10DE

Definition at line 49 of file driver.h.

◆ VEN_VMWARE

#define VEN_VMWARE   0x15AD

Definition at line 50 of file driver.h.

Function Documentation

◆ HDA_BusInterface()

HDAUDIO_BUS_INTERFACE HDA_BusInterface ( PVOID  Context)

Definition at line 1119 of file hdaudio.cpp.

1119 {
1120 HDAUDIO_BUS_INTERFACE busInterface;
1121 RtlZeroMemory(&busInterface, sizeof(HDAUDIO_BUS_INTERFACE));
1122
1123 busInterface.Size = sizeof(HDAUDIO_BUS_INTERFACE);
1124 busInterface.Version = 0x0100;
1125 busInterface.Context = Context;
1133 busInterface.FreeDmaBuffer = HDA_FreeDmaBuffer;
1134 busInterface.FreeDmaEngine = HDA_FreeDmaEngine;
1142
1143 return busInterface;
1144}
NTSTATUS NTAPI HDA_AllocateCaptureDmaEngine(_In_ PVOID _context, _In_ UCHAR CodecAddress, _In_ PHDAUDIO_STREAM_FORMAT StreamFormat, _Out_ PHANDLE Handle, _Out_ PHDAUDIO_CONVERTER_FORMAT ConverterFormat)
Definition: hdaudio.cpp:150
NTSTATUS NTAPI HDA_UnregisterEventCallback(_In_ PVOID _context, _In_ UCHAR Tag)
Definition: hdaudio.cpp:453
NTSTATUS NTAPI HDA_AllocateRenderDmaEngine(_In_ PVOID _context, _In_ PHDAUDIO_STREAM_FORMAT StreamFormat, _In_ BOOLEAN Stripe, _Out_ PHANDLE Handle, _Out_ PHDAUDIO_CONVERTER_FORMAT ConverterFormat)
Definition: hdaudio.cpp:203
NTSTATUS NTAPI HDA_AllocateDmaBuffer(_In_ PVOID _context, _In_ HANDLE Handle, _In_ SIZE_T RequestedBufferSize, _Out_ PMDL *BufferMdl, _Out_ PSIZE_T AllocatedBufferSize, _Out_ PUCHAR StreamId, _Out_ PULONG FifoSize)
Definition: hdaudio.cpp:724
void NTAPI HDA_GetResourceInformation(_In_ PVOID _context, _Out_ PUCHAR CodecAddress, _Out_ PUCHAR FunctionGroupStartNode)
Definition: hdaudio.cpp:512
NTSTATUS NTAPI HDA_SetDmaEngineState(_In_ PVOID _context, _In_ HDAUDIO_STREAM_STATE StreamState, _In_ ULONG NumberOfHandles, _In_reads_(NumberOfHandles) PHANDLE Handles)
Definition: hdaudio.cpp:331
NTSTATUS NTAPI HDA_ChangeBandwidthAllocation(_In_ PVOID _context, _In_ HANDLE Handle, _In_ PHDAUDIO_STREAM_FORMAT StreamFormat, _Out_ PHDAUDIO_CONVERTER_FORMAT ConverterFormat)
Definition: hdaudio.cpp:255
NTSTATUS NTAPI HDA_FreeDmaEngine(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: hdaudio.cpp:296
NTSTATUS NTAPI HDA_GetDeviceInformation(_In_ PVOID _context, _Inout_ PHDAUDIO_DEVICE_INFORMATION DeviceInformation)
Definition: hdaudio.cpp:482
NTSTATUS NTAPI HDA_FreeDmaBuffer(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: hdaudio.cpp:739
NTSTATUS NTAPI HDA_TransferCodecVerbs(_In_ PVOID _context, _In_ ULONG Count, _Inout_updates_(Count) PHDAUDIO_CODEC_TRANSFER CodecTransfer, _In_opt_ PHDAUDIO_TRANSFER_COMPLETE_CALLBACK Callback, _In_opt_ PVOID Context)
Definition: hdaudio.cpp:70
NTSTATUS NTAPI HDA_GetLinkPositionRegister(_In_ PVOID _context, _In_ HANDLE Handle, _Out_ PULONG *Position)
Definition: hdaudio.cpp:388
VOID NTAPI HDA_GetWallClockRegister(_In_ PVOID _context, _Out_ PULONG *Wallclock)
Definition: hdaudio.cpp:374
NTSTATUS NTAPI HDA_RegisterEventCallback(_In_ PVOID _context, _In_ PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK Routine, _In_opt_ PVOID Context, _Out_ PUCHAR Tag)
Definition: hdaudio.cpp:413
struct _HDAUDIO_BUS_INTERFACE HDAUDIO_BUS_INTERFACE
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine
Definition: hdaudio.h:270
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback
Definition: hdaudio.h:279
PSET_DMA_ENGINE_STATE SetDmaEngineState
Definition: hdaudio.h:275
PTRANSFER_CODEC_VERBS TransferCodecVerbs
Definition: hdaudio.h:268
PGET_DEVICE_INFORMATION GetDeviceInformation
Definition: hdaudio.h:280
PREGISTER_EVENT_CALLBACK RegisterEventCallback
Definition: hdaudio.h:278
PINTERFACE_REFERENCE InterfaceReference
Definition: hdaudio.h:266
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine
Definition: hdaudio.h:269
PGET_WALL_CLOCK_REGISTER GetWallClockRegister
Definition: hdaudio.h:276
PFREE_DMA_ENGINE FreeDmaEngine
Definition: hdaudio.h:274
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation
Definition: hdaudio.h:271
PFREE_DMA_BUFFER FreeDmaBuffer
Definition: hdaudio.h:273
PGET_RESOURCE_INFORMATION GetResourceInformation
Definition: hdaudio.h:281
PALLOCATE_DMA_BUFFER AllocateDmaBuffer
Definition: hdaudio.h:272
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: hdaudio.h:267
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister
Definition: hdaudio.h:277
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
FORCEINLINE VOID NTAPI WdfDeviceInterfaceReferenceNoOp(_In_ PVOID Context)
FORCEINLINE VOID NTAPI WdfDeviceInterfaceDereferenceNoOp(_In_ PVOID Context)

Referenced by Bus_CreatePdo().

◆ HDA_BusInterfaceBDL()

HDAUDIO_BUS_INTERFACE_BDL HDA_BusInterfaceBDL ( PVOID  Context)

Definition at line 1146 of file hdaudio.cpp.

1147{
1148 HDAUDIO_BUS_INTERFACE_BDL busInterface;
1149 RtlZeroMemory(&busInterface, sizeof(HDAUDIO_BUS_INTERFACE_BDL));
1150
1151 busInterface.Size = sizeof(HDAUDIO_BUS_INTERFACE_BDL);
1152 busInterface.Version = 0x0100;
1153 busInterface.Context = Context;
1163 busInterface.FreeDmaEngine = HDA_FreeDmaEngine;
1171
1172 return busInterface;
1173}
NTSTATUS NTAPI HDA_AllocateContiguousDmaBuffer(_In_ PVOID _context, _In_ HANDLE Handle, _In_ ULONG RequestedBufferSize, _Out_ PVOID *DataBuffer, _Out_ PHDAUDIO_BUFFER_DESCRIPTOR *BdlBuffer)
Definition: hdaudio.cpp:1001
NTSTATUS NTAPI HDA_SetupDmaEngineWithBdl(_In_ PVOID _context, _In_ HANDLE Handle, _In_ ULONG BufferLength, _In_ ULONG Lvi, _In_ PHDAUDIO_BDL_ISR Isr, _In_ PVOID Context, _Out_ PUCHAR StreamId, _Out_ PULONG FifoSize)
Definition: hdaudio.cpp:892
NTSTATUS NTAPI HDA_FreeContiguousDmaBuffer(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: hdaudio.cpp:951
struct _HDAUDIO_BUS_INTERFACE_BDL HDAUDIO_BUS_INTERFACE_BDL
PINTERFACE_REFERENCE InterfaceReference
Definition: hdaudio.h:323
PTRANSFER_CODEC_VERBS TransferCodecVerbs
Definition: hdaudio.h:325
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: hdaudio.h:324
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback
Definition: hdaudio.h:337
PGET_RESOURCE_INFORMATION GetResourceInformation
Definition: hdaudio.h:339
PALLOCATE_CONTIGUOUS_DMA_BUFFER AllocateContiguousDmaBuffer
Definition: hdaudio.h:329
PGET_WALL_CLOCK_REGISTER GetWallClockRegister
Definition: hdaudio.h:334
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation
Definition: hdaudio.h:328
PGET_DEVICE_INFORMATION GetDeviceInformation
Definition: hdaudio.h:338
PSETUP_DMA_ENGINE_WITH_BDL SetupDmaEngineWithBdl
Definition: hdaudio.h:330
PFREE_DMA_ENGINE FreeDmaEngine
Definition: hdaudio.h:332
PSET_DMA_ENGINE_STATE SetDmaEngineState
Definition: hdaudio.h:333
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister
Definition: hdaudio.h:335
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine
Definition: hdaudio.h:327
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine
Definition: hdaudio.h:326
PFREE_CONTIGUOUS_DMA_BUFFER FreeContiguousDmaBuffer
Definition: hdaudio.h:331
PREGISTER_EVENT_CALLBACK RegisterEventCallback
Definition: hdaudio.h:336

Referenced by Bus_CreatePdo().

◆ HDA_BusInterfaceV2()

HDAUDIO_BUS_INTERFACE_V2 HDA_BusInterfaceV2 ( PVOID  Context)

Definition at line 1055 of file hdaudio.cpp.

1055 {
1056 HDAUDIO_BUS_INTERFACE_V2 busInterface;
1057 RtlZeroMemory(&busInterface, sizeof(HDAUDIO_BUS_INTERFACE_V2));
1058
1059 busInterface.Size = sizeof(HDAUDIO_BUS_INTERFACE_V2);
1060 busInterface.Version = 0x0100;
1061 busInterface.Context = Context;
1069 busInterface.FreeDmaBuffer = HDA_FreeDmaBuffer;
1070 busInterface.FreeDmaEngine = HDA_FreeDmaEngine;
1082
1083 return busInterface;
1084}
NTSTATUS NTAPI HDA_UnregisterNotificationEvent(_In_ PVOID _context, _In_ HANDLE Handle, _In_ PKEVENT NotificationEvent)
Definition: hdaudio.cpp:788
NTSTATUS NTAPI HDA_AllocateDmaBufferWithNotification(_In_ PVOID _context, _In_ HANDLE Handle, _In_ ULONG NotificationCount, _In_ SIZE_T RequestedBufferSize, _Out_ PMDL *BufferMdl, _Out_ PSIZE_T AllocatedBufferSize, _Out_ PSIZE_T OffsetFromFirstPage, _Out_ PUCHAR StreamId, _Out_ PULONG FifoSize)
Definition: hdaudio.cpp:529
NTSTATUS NTAPI HDA_FreeDmaBufferWithNotification(_In_ PVOID _context, _In_ HANDLE Handle, _In_ PMDL BufferMdl, _In_ SIZE_T BufferSize)
Definition: hdaudio.cpp:674
NTSTATUS NTAPI HDA_RegisterNotificationEvent(_In_ PVOID _context, _In_ HANDLE Handle, _In_ PKEVENT NotificationEvent)
Definition: hdaudio.cpp:758
struct _HDAUDIO_BUS_INTERFACE_V2 HDAUDIO_BUS_INTERFACE_V2
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine
Definition: hdaudio.h:388
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION AllocateDmaBufferWithNotification
Definition: hdaudio.h:401
PFREE_DMA_ENGINE FreeDmaEngine
Definition: hdaudio.h:393
PINTERFACE_REFERENCE InterfaceReference
Definition: hdaudio.h:385
PGET_DEVICE_INFORMATION GetDeviceInformation
Definition: hdaudio.h:399
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation
Definition: hdaudio.h:390
PFREE_DMA_BUFFER FreeDmaBuffer
Definition: hdaudio.h:392
PUNREGISTER_NOTIFICATION_EVENT UnregisterNotificationEvent
Definition: hdaudio.h:404
PSET_DMA_ENGINE_STATE SetDmaEngineState
Definition: hdaudio.h:394
PREGISTER_EVENT_CALLBACK RegisterEventCallback
Definition: hdaudio.h:397
PREGISTER_NOTIFICATION_EVENT RegisterNotificationEvent
Definition: hdaudio.h:403
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister
Definition: hdaudio.h:396
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback
Definition: hdaudio.h:398
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: hdaudio.h:386
PTRANSFER_CODEC_VERBS TransferCodecVerbs
Definition: hdaudio.h:387
PGET_WALL_CLOCK_REGISTER GetWallClockRegister
Definition: hdaudio.h:395
PFREE_DMA_BUFFER_WITH_NOTIFICATION FreeDmaBufferWithNotification
Definition: hdaudio.h:402
PALLOCATE_DMA_BUFFER AllocateDmaBuffer
Definition: hdaudio.h:391
PGET_RESOURCE_INFORMATION GetResourceInformation
Definition: hdaudio.h:400
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine
Definition: hdaudio.h:389

Referenced by Bus_CreatePdo().

◆ HDA_BusInterfaceV3()

HDAUDIO_BUS_INTERFACE_V3 HDA_BusInterfaceV3 ( PVOID  Context)

Definition at line 1086 of file hdaudio.cpp.

1086 {
1087 HDAUDIO_BUS_INTERFACE_V3 busInterface;
1088 RtlZeroMemory(&busInterface, sizeof(HDAUDIO_BUS_INTERFACE_V3));
1089
1090 busInterface.Size = sizeof(HDAUDIO_BUS_INTERFACE_V3);
1091 busInterface.Version = 0x0100;
1092 busInterface.Context = Context;
1100 busInterface.FreeDmaBuffer = HDA_FreeDmaBuffer;
1101 busInterface.FreeDmaEngine = HDA_FreeDmaEngine;
1115
1116 return busInterface;
1117}
NTSTATUS NTAPI HDA_RegisterNotificationCallback(_In_ PVOID _context, _In_ HANDLE Handle, PDEVICE_OBJECT Fdo, PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback, PVOID CallbackContext)
Definition: hdaudio.cpp:818
NTSTATUS NTAPI HDA_UnregisterNotificationCallback(_In_ PVOID _context, _In_ HANDLE Handle, PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback, PVOID CallbackContext)
Definition: hdaudio.cpp:856
struct _HDAUDIO_BUS_INTERFACE_V3 HDAUDIO_BUS_INTERFACE_V3
PUNREGISTER_NOTIFICATION_CALLBACK UnregisterNotificationCallback
Definition: hdaudio.h:432
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine
Definition: hdaudio.h:415
PCHANGE_BANDWIDTH_ALLOCATION ChangeBandwidthAllocation
Definition: hdaudio.h:416
PGET_RESOURCE_INFORMATION GetResourceInformation
Definition: hdaudio.h:426
PFREE_DMA_BUFFER FreeDmaBuffer
Definition: hdaudio.h:418
PGET_DEVICE_INFORMATION GetDeviceInformation
Definition: hdaudio.h:425
PINTERFACE_REFERENCE InterfaceReference
Definition: hdaudio.h:411
PUNREGISTER_NOTIFICATION_EVENT UnregisterNotificationEvent
Definition: hdaudio.h:430
PFREE_DMA_ENGINE FreeDmaEngine
Definition: hdaudio.h:419
PGET_WALL_CLOCK_REGISTER GetWallClockRegister
Definition: hdaudio.h:421
PREGISTER_NOTIFICATION_CALLBACK RegisterNotificationCallback
Definition: hdaudio.h:431
PUNREGISTER_EVENT_CALLBACK UnregisterEventCallback
Definition: hdaudio.h:424
PTRANSFER_CODEC_VERBS TransferCodecVerbs
Definition: hdaudio.h:413
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: hdaudio.h:412
PGET_LINK_POSITION_REGISTER GetLinkPositionRegister
Definition: hdaudio.h:422
PALLOCATE_DMA_BUFFER AllocateDmaBuffer
Definition: hdaudio.h:417
PFREE_DMA_BUFFER_WITH_NOTIFICATION FreeDmaBufferWithNotification
Definition: hdaudio.h:428
PSET_DMA_ENGINE_STATE SetDmaEngineState
Definition: hdaudio.h:420
PREGISTER_EVENT_CALLBACK RegisterEventCallback
Definition: hdaudio.h:423
PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION AllocateDmaBufferWithNotification
Definition: hdaudio.h:427
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine
Definition: hdaudio.h:414
PREGISTER_NOTIFICATION_EVENT RegisterNotificationEvent
Definition: hdaudio.h:429

Referenced by Bus_CreatePdo().

◆ HDA_WaitForTransfer()

NTSTATUS HDA_WaitForTransfer ( PFDO_CONTEXT  fdoCtx,
UINT16  codecAddr,
_In_ ULONG  Count,
_Inout_updates_(Count) PHDAUDIO_CODEC_TRANSFER  CodecTransfer 
)

Definition at line 3 of file hdaudio.cpp.

9 {
11
12 SklHdAudBusPrint(DEBUG_LEVEL_VERBOSE, DBG_IOCTL, "%s called (Count: %d)!\n", __func__, Count);
13
15 Timeout.QuadPart = -10LL * 1000LL * 1000LL * (LONGLONG)Count;
17 KeClearEvent(&fdoCtx->rirb.xferEvent[codecAddr]);
18
19 SklHdAudBusPrint(DEBUG_LEVEL_VERBOSE, DBG_IOCTL, "%s wait status: 0x%x!\n", __func__, status);
20
21 ULONG TransferredCount = 0;
22 for (ULONG i = 0; i < Count; i++) {
23 if (CodecTransfer[i].Input.IsValid) {
24 TransferredCount++;
25 }
26 }
27
28 if (TransferredCount < Count) {
29 InterlockedAdd(&fdoCtx->rirb.cmds[codecAddr], TransferredCount - Count);
30
31 SklHdAudBusPrint(DEBUG_LEVEL_VERBOSE, DBG_IOCTL, "%s timeout (Count: %d, transferred %d)!\n", __func__, Count, TransferredCount);
33 goto out;
34 }
35
36out:
37 SklHdAudBusPrint(DEBUG_LEVEL_VERBOSE, DBG_IOCTL, "%s exit (Count: %d)!\n", __func__, Count);
38 return status;
39}
LONG NTSTATUS
Definition: precomp.h:26
#define FALSE
Definition: types.h:117
#define SklHdAudBusPrint(dbglevel, fmt,...)
Definition: driver.h:111
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
Definition: env_spec_w32.h:478
VOID NTAPI KeClearEvent(IN PKEVENT Event)
Definition: eventobj.c:22
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
Definition: glfuncs.h:248
#define InterlockedAdd
Definition: interlocked.h:66
#define KernelMode
Definition: asm.h:38
int Count
Definition: noreturn.cpp:7
static ULONG Timeout
Definition: ping.c:61
@ Input
Definition: arc.h:93
#define STATUS_SUCCESS
Definition: shellext.h:65
HDAC_RB rirb
Definition: fdo.h:164
LONG cmds[HDA_MAX_CODECS]
Definition: fdo.h:95
KEVENT xferEvent[HDA_MAX_CODECS]
Definition: fdo.h:96
Definition: ps.c:97
int64_t LONGLONG
Definition: typedefs.h:68
uint32_t ULONG
Definition: typedefs.h:59
#define STATUS_IO_TIMEOUT
Definition: udferr_usr.h:163
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
@ Executive
Definition: ketypes.h:467

Referenced by HDA_AsyncWait(), HDA_TransferCodecVerbs(), and RunSingleHDACmd().

◆ mdelay()

static void mdelay ( LONG  msec)
inlinestatic

Definition at line 74 of file driver.h.

74 {
76 Interval.QuadPart = -10 * 1000 * (LONGLONG)msec;
78}
#define KeDelayExecutionThread(mode, foo, t)
Definition: env_spec_w32.h:484
DWORD Interval
Definition: netstat.c:30

◆ udelay()

static void udelay ( LONG  usec)
inlinestatic

Definition at line 80 of file driver.h.

80 {
82 Interval.QuadPart = -10 * (LONGLONG)usec;
84}

Referenced by HDAInitCorb(), ResetHDAController(), and StartHDAController().