ReactOS 0.4.16-dev-2293-g4d8327b
adsp.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _NHLT_INFO
 
struct  _ADSP_BUS_INTERFACE
 

Typedefs

typedef struct _NHLT_INFO NHLT_INFO
 
typedef struct _NHLT_INFOPNHLT_INFO
 
typedef _Must_inspect_result_ NTSTATUS(* PGET_ADSP_RESOURCES) (_In_ PVOID _context, _Out_ _PCI_BAR *hdaBar, _Out_ _PCI_BAR *adspBar, PVOID *ppcap, PNHLT_INFO nhltInfo, _Out_ BUS_INTERFACE_STANDARD *pciConfig)
 
typedef _Must_inspect_result_ NTSTATUS(* PDSP_SET_POWER_STATE) (_In_ PVOID _context, _In_ DEVICE_POWER_STATE newPowerState)
 
typedef _Must_inspect_result_ BOOL(* PADSP_INTERRUPT_CALLBACK) (PVOID context)
 
typedef _Must_inspect_result_ NTSTATUS(* PREGISTER_ADSP_INTERRUPT) (_In_ PVOID _context, _In_ PADSP_INTERRUPT_CALLBACK callback, _In_ PVOID callbackContext)
 
typedef _Must_inspect_result_ NTSTATUS(* PUNREGISTER_ADSP_INTERRUPT) (_In_ PVOID _context)
 
typedef _Must_inspect_result_ NTSTATUS(* PGET_STREAM) (_In_ PVOID _context, HDAUDIO_STREAM_FORMAT StreamFormat, PHANDLE Handle, _Out_ UINT8 *streamTag)
 
typedef _Must_inspect_result_ NTSTATUS(* PFREE_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle)
 
typedef _Must_inspect_result_ NTSTATUS(* PDSP_PREPARE_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle, _In_ unsigned int ByteSize, _In_ int frags, _Out_ PVOID *bdlBuf)
 
typedef _Must_inspect_result_ NTSTATUS(* PDSP_CLEANUP_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle)
 
typedef _Must_inspect_result_ UINT32(* PDSP_STREAM_POSITION) (_In_ PVOID _context, _In_ HANDLE Handle)
 
typedef void(* PDSP_START_STOP_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle, BOOL startStop)
 
typedef void(* PDSP_ENABLE_SPIB) (_In_ PVOID _context, _In_ HANDLE Handle, UINT32 value)
 
typedef void(* PDSP_DISABLE_SPIB) (_In_ PVOID _context, _In_ HANDLE Handle)
 
typedef struct _ADSP_BUS_INTERFACE ADSP_BUS_INTERFACE
 
typedef struct _ADSP_BUS_INTERFACEPADSP_BUS_INTERFACE
 

Functions

 DEFINE_GUID (GUID_ADSP_BUS_INTERFACE, 0x752a2cae, 0x3455, 0x4d18, 0xa1, 0x84, 0x8b, 0x34, 0xb2, 0x26, 0x32, 0xce)
 
ADSP_BUS_INTERFACE ADSP_BusInterface (PVOID Context)
 

Typedef Documentation

◆ ADSP_BUS_INTERFACE

◆ NHLT_INFO

◆ PADSP_BUS_INTERFACE

◆ PADSP_INTERRUPT_CALLBACK

typedef _Must_inspect_result_ BOOL(* PADSP_INTERRUPT_CALLBACK) (PVOID context)

Definition at line 18 of file adsp.h.

◆ PDSP_CLEANUP_STREAM

typedef _Must_inspect_result_ NTSTATUS(* PDSP_CLEANUP_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle)

Definition at line 24 of file adsp.h.

◆ PDSP_DISABLE_SPIB

typedef void(* PDSP_DISABLE_SPIB) (_In_ PVOID _context, _In_ HANDLE Handle)

Definition at line 28 of file adsp.h.

◆ PDSP_ENABLE_SPIB

typedef void(* PDSP_ENABLE_SPIB) (_In_ PVOID _context, _In_ HANDLE Handle, UINT32 value)

Definition at line 27 of file adsp.h.

◆ PDSP_PREPARE_STREAM

typedef _Must_inspect_result_ NTSTATUS(* PDSP_PREPARE_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle, _In_ unsigned int ByteSize, _In_ int frags, _Out_ PVOID *bdlBuf)

Definition at line 23 of file adsp.h.

◆ PDSP_SET_POWER_STATE

typedef _Must_inspect_result_ NTSTATUS(* PDSP_SET_POWER_STATE) (_In_ PVOID _context, _In_ DEVICE_POWER_STATE newPowerState)

Definition at line 17 of file adsp.h.

◆ PDSP_START_STOP_STREAM

typedef void(* PDSP_START_STOP_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle, BOOL startStop)

Definition at line 26 of file adsp.h.

◆ PDSP_STREAM_POSITION

typedef _Must_inspect_result_ UINT32(* PDSP_STREAM_POSITION) (_In_ PVOID _context, _In_ HANDLE Handle)

Definition at line 25 of file adsp.h.

◆ PFREE_STREAM

typedef _Must_inspect_result_ NTSTATUS(* PFREE_STREAM) (_In_ PVOID _context, _In_ HANDLE Handle)

Definition at line 22 of file adsp.h.

◆ PGET_ADSP_RESOURCES

typedef _Must_inspect_result_ NTSTATUS(* PGET_ADSP_RESOURCES) (_In_ PVOID _context, _Out_ _PCI_BAR *hdaBar, _Out_ _PCI_BAR *adspBar, PVOID *ppcap, PNHLT_INFO nhltInfo, _Out_ BUS_INTERFACE_STANDARD *pciConfig)

Definition at line 16 of file adsp.h.

◆ PGET_STREAM

typedef _Must_inspect_result_ NTSTATUS(* PGET_STREAM) (_In_ PVOID _context, HDAUDIO_STREAM_FORMAT StreamFormat, PHANDLE Handle, _Out_ UINT8 *streamTag)

Definition at line 21 of file adsp.h.

◆ PNHLT_INFO

◆ PREGISTER_ADSP_INTERRUPT

typedef _Must_inspect_result_ NTSTATUS(* PREGISTER_ADSP_INTERRUPT) (_In_ PVOID _context, _In_ PADSP_INTERRUPT_CALLBACK callback, _In_ PVOID callbackContext)

Definition at line 19 of file adsp.h.

◆ PUNREGISTER_ADSP_INTERRUPT

typedef _Must_inspect_result_ NTSTATUS(* PUNREGISTER_ADSP_INTERRUPT) (_In_ PVOID _context)

Definition at line 20 of file adsp.h.

Function Documentation

◆ ADSP_BusInterface()

ADSP_BUS_INTERFACE ADSP_BusInterface ( PVOID  Context)

Definition at line 369 of file adsp.cpp.

369 {
370 ADSP_BUS_INTERFACE busInterface;
371 RtlZeroMemory(&busInterface, sizeof(ADSP_BUS_INTERFACE));
372
374
375 busInterface.Size = sizeof(ADSP_BUS_INTERFACE);
376 busInterface.Version = 1;
377 busInterface.Context = Context;
380 busInterface.CtlrDevId = devData->CodecIds.CtlrDevId;
381 busInterface.GetResources = ADSPGetResources;
382 busInterface.SetDSPPowerState = ADSPSetPowerState;
385
388 busInterface.FreeStream = ADSPFreeStream;
389 busInterface.PrepareDSP = ADSPPrepareDSP;
390 busInterface.CleanupDSP = ADSPCleanupDSP;
391 busInterface.TriggerDSP = ADSPStartStopDSP;
392 busInterface.StreamPosition = ADSPStreamPosition;
393
394 busInterface.DSPEnableSPIB = ADSPEnableSPIB;
395 busInterface.DSPDisableSPIB = ADSPDisableSPIB;
396
397 return busInterface;
398}
struct _PDO_DEVICE_DATA * PPDO_DEVICE_DATA
NTSTATUS ADSPGetResources(_In_ PVOID _context, _PCI_BAR *hdaBar, _PCI_BAR *adspBar, PVOID *ppcap, PNHLT_INFO nhltInfo, BUS_INTERFACE_STANDARD *pciConfig)
Definition: adsp.cpp:5
NTSTATUS ADSPFreeStream(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: adsp.cpp:192
UINT32 ADSPStreamPosition(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: adsp.cpp:355
void ADSPDisableSPIB(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: adsp.cpp:334
NTSTATUS ADSPUnregisterInterrupt(_In_ PVOID _context)
Definition: adsp.cpp:76
NTSTATUS ADSPCleanupDSP(_In_ PVOID _context, _In_ HANDLE Handle)
Definition: adsp.cpp:274
void ADSPEnableSPIB(_In_ PVOID _context, _In_ HANDLE Handle, UINT32 value)
Definition: adsp.cpp:313
NTSTATUS ADSPPrepareDSP(_In_ PVOID _context, _In_ HANDLE Handle, _In_ unsigned int ByteSize, _In_ int NumBlocks, _Out_ PVOID *bdlBuf)
Definition: adsp.cpp:231
NTSTATUS ADSPGetRenderStream(_In_ PVOID _context, HDAUDIO_STREAM_FORMAT StreamFormat, PHANDLE Handle, _Out_ UINT8 *streamTag)
Definition: adsp.cpp:90
NTSTATUS ADSPRegisterInterrupt(_In_ PVOID _context, _In_ PADSP_INTERRUPT_CALLBACK callback, _In_ PVOID callbackContext)
Definition: adsp.cpp:62
NTSTATUS ADSPGetCaptureStream(_In_ PVOID _context, HDAUDIO_STREAM_FORMAT StreamFormat, PHANDLE Handle, _Out_ UINT8 *streamTag)
Definition: adsp.cpp:141
void ADSPStartStopDSP(_In_ PVOID _context, _In_ HANDLE Handle, BOOL startStop)
Definition: adsp.cpp:296
NTSTATUS ADSPSetPowerState(_In_ PVOID _context, _In_ DEVICE_POWER_STATE powerState)
Definition: adsp.cpp:44
struct _ADSP_BUS_INTERFACE ADSP_BUS_INTERFACE
PREGISTER_ADSP_INTERRUPT RegisterInterrupt
Definition: adsp.h:47
PDSP_SET_POWER_STATE SetDSPPowerState
Definition: adsp.h:46
PDSP_DISABLE_SPIB DSPDisableSPIB
Definition: adsp.h:58
PGET_ADSP_RESOURCES GetResources
Definition: adsp.h:45
PUNREGISTER_ADSP_INTERRUPT UnregisterInterrupt
Definition: adsp.h:48
PDSP_STREAM_POSITION StreamPosition
Definition: adsp.h:55
USHORT Version
Definition: adsp.h:36
PGET_STREAM GetRenderStream
Definition: adsp.h:49
PVOID Context
Definition: adsp.h:37
PDSP_ENABLE_SPIB DSPEnableSPIB
Definition: adsp.h:57
USHORT Size
Definition: adsp.h:35
PINTERFACE_REFERENCE InterfaceReference
Definition: adsp.h:38
PINTERFACE_DEREFERENCE InterfaceDereference
Definition: adsp.h:39
PDSP_CLEANUP_STREAM CleanupDSP
Definition: adsp.h:53
PDSP_PREPARE_STREAM PrepareDSP
Definition: adsp.h:52
UINT16 CtlrDevId
Definition: adsp.h:44
PGET_STREAM GetCaptureStream
Definition: adsp.h:50
PDSP_START_STOP_STREAM TriggerDSP
Definition: adsp.h:54
PFREE_STREAM FreeStream
Definition: adsp.h:51
UINT16 CtlrDevId
Definition: buspdo.h:18
CODEC_IDS CodecIds
Definition: buspdo.h:51
#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().

◆ DEFINE_GUID()

DEFINE_GUID ( GUID_ADSP_BUS_INTERFACE  ,
0x752a2cae  ,
0x3455  ,
0x4d18  ,
0xa1  ,
0x84  ,
0x8b  ,
0x34  ,
0xb2  ,
0x26  ,
0x32  ,
0xce   
)