ReactOS 0.4.16-dev-2293-g4d8327b
fdo.h
Go to the documentation of this file.
1#if !defined(_SKLHDAUDBUS_FDO_H_)
2#define _SKLHDAUDBUS_FDO_H_
3
4union baseaddr {
7};
8
9typedef struct _PCI_BAR {
13
14#include "adsp.h"
15
16#define HDA_UNSOL_QUEUE_SIZE 64
17#define MAX_NOTIF_EVENTS 16
18#define HDA_MAX_CODECS 16 /* limit by controller side */
19
20struct _FDO_CONTEXT;
21struct _PDO_DEVICE_DATA;
22
23typedef struct _HDAC_STREAM_CALLBACK {
29
30typedef struct _HDAC_ISR_CALLBACK {
35
36typedef struct _HDAC_BDLENTRY {
42
43typedef struct _HDAC_STREAM {
46
49
52
54
59
62
63 UINT8* spib_addr; //spbcap
64
67
69
72
74
78
79typedef struct _HDAC_RIRB {
83
84typedef struct _HDAC_CODEC_XFER {
87
88typedef struct _HDAC_RB {
89 union {
92 };
99
104
106
109 DXGK_GRAPHICSPOWER_REGISTER_OUTPUT graphicsPowerRegisterOutput;
112
114{
115 WDFDEVICE WdfDevice;
116
120
121 PCI_BAR m_BAR0; //required
122 PCI_BAR m_BAR4; //Intel AudioDSP
124 WDFINTERRUPT Interrupt;
125
126 //Graphics Notifications
133
137
139
142
148
151
158
159 //bit flags of detected codecs
162
166
167 UINT8 *rb; //CORB and RIRB buffers
170
172
174NTAPI
177);
178
179#endif
unsigned short UINT16
Definition: actypes.h:129
unsigned char BOOLEAN
Definition: actypes.h:127
unsigned char UINT8
Definition: actypes.h:128
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
_Must_inspect_result_ BOOL(* PADSP_INTERRUPT_CALLBACK)(PVOID context)
Definition: adsp.h:18
LONG NTSTATUS
Definition: precomp.h:26
static const struct image_codec codecs[NUM_CODECS]
Definition: image.c:4283
struct _FDO_CONTEXT * PFDO_CONTEXT
NTSTATUS NTAPI Fdo_Create(_Inout_ PWDFDEVICE_INIT DeviceInit)
Definition: fdo.cpp:29
struct _HDAC_STREAM HDAC_STREAM
struct _HDAC_RIRB HDAC_RIRB
struct _HDAC_CODEC_XFER * PHDAC_CODEC_XFER
struct _GRAPHICSWORKITEM_CONTEXT GRAPHICSWORKITEM_CONTEXT
struct _GRAPHICSIOTARGET_CONTEXT GRAPHICSIOTARGET_CONTEXT
struct _HDAC_STREAM_CALLBACK * PHDAC_STREAM_CALLBACK
struct _HDAC_RB * PHDAC_RB
#define MAX_NOTIF_EVENTS
Definition: fdo.h:17
struct _GRAPHICSIOTARGET_CONTEXT * PGRAPHICSIOTARGET_CONTEXT
struct _PCI_BAR PCI_BAR
struct _HDAC_STREAM_CALLBACK HDAC_STREAM_CALLBACK
struct _HDAC_STREAM * PHDAC_STREAM
struct _HDAC_BDLENTRY * PHDAC_BDLENTRY
struct _GRAPHICSWORKITEM_CONTEXT * PGRAPHICSWORKITEM_CONTEXT
#define HDA_MAX_CODECS
Definition: fdo.h:18
struct _HDAC_CODEC_XFER HDAC_CODEC_XFER
struct _HDAC_BDLENTRY HDAC_BDLENTRY
struct _HDAC_ISR_CALLBACK HDAC_ISR_CALLBACK
struct _HDAC_ISR_CALLBACK * PHDAC_ISR_CALLBACK
struct _PCI_BAR * PPCI_BAR
struct _HDAC_RB HDAC_RB
struct _HDAC_RIRB * PHDAC_RIRB
struct _FDO_CONTEXT FDO_CONTEXT
unsigned int BOOL
Definition: ntddk_ex.h:94
#define HDA_MAX_CORB_ENTRIES
void(NTAPI * PHDAUDIO_BDL_ISR)(_In_ VOID *Context, _In_ ULONG InterruptBitMask)
Definition: hdaudio.h:285
VOID(NTAPI * PHDAUDIO_DMA_NOTIFICATION_CALLBACK)(PVOID Context, LARGE_INTEGER Progress)
Definition: hdaudio.h:101
#define _Inout_
Definition: no_sal2.h:162
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
BOOL processRirb
Definition: fdo.h:165
HDAC_RB corb
Definition: fdo.h:163
PVOID GraphicsNotificationHandle
Definition: fdo.h:127
WDFDEVICE WdfDevice
Definition: fdo.h:115
UINT16 codecMask
Definition: fdo.h:160
UINT8 * rb
Definition: fdo.h:167
PVOID dspInterruptContext
Definition: fdo.h:153
UINT8 revId
Definition: fdo.h:119
BOOLEAN GraphicsCodecConnected
Definition: fdo.h:132
UINT64 sofTplgSz
Definition: fdo.h:157
ULONG GraphicsCodecAddress
Definition: fdo.h:130
WDFWAITLOCK GraphicsDevicesCollectionWaitLock
Definition: fdo.h:128
UINT32 playbackStreams
Definition: fdo.h:146
PVOID sofTplg
Definition: fdo.h:156
USHORT numCodecs
Definition: fdo.h:161
WDFCOLLECTION GraphicsDevicesCollection
Definition: fdo.h:129
UINT32 captureIndexOff
Definition: fdo.h:143
BUS_INTERFACE_STANDARD BusInterface
Definition: fdo.h:123
BOOLEAN is64BitOK
Definition: fdo.h:140
UINT32 numStreams
Definition: fdo.h:147
UINT32 playbackIndexOff
Definition: fdo.h:144
UINT8 * mlcap
Definition: fdo.h:134
PCI_BAR m_BAR4
Definition: fdo.h:122
UINT16 hwVersion
Definition: fdo.h:141
PHDAC_STREAM streams
Definition: fdo.h:149
PVOID posbuf
Definition: fdo.h:168
UINT32 captureStreams
Definition: fdo.h:145
UINT8 * spbcap
Definition: fdo.h:136
PCI_BAR m_BAR0
Definition: fdo.h:121
UINT8 * ppcap
Definition: fdo.h:135
HDAC_RB rirb
Definition: fdo.h:164
PVOID nhlt
Definition: fdo.h:154
UINT16 venId
Definition: fdo.h:117
WDFINTERRUPT Interrupt
Definition: fdo.h:124
BOOLEAN ControllerEnabled
Definition: fdo.h:138
BOOLEAN UseSGPCCodec
Definition: fdo.h:131
UINT16 devId
Definition: fdo.h:118
UINT64 nhltSz
Definition: fdo.h:155
PADSP_INTERRUPT_CALLBACK dspInterruptCallback
Definition: fdo.h:152
DXGK_GRAPHICSPOWER_REGISTER_OUTPUT graphicsPowerRegisterOutput
Definition: fdo.h:109
struct _FDO_CONTEXT * FdoContext
Definition: fdo.h:108
UNICODE_STRING GPUDeviceSymlink
Definition: fdo.h:102
struct _FDO_CONTEXT * FdoContext
Definition: fdo.h:101
UINT32 len
Definition: fdo.h:39
UINT32 ioc
Definition: fdo.h:40
UINT32 highAddr
Definition: fdo.h:38
UINT32 lowAddr
Definition: fdo.h:37
PHDAUDIO_CODEC_TRANSFER xfer[HDA_MAX_CORB_ENTRIES]
Definition: fdo.h:85
PVOID CallbackContext
Definition: fdo.h:33
BOOLEAN IOC
Definition: fdo.h:31
PHDAUDIO_BDL_ISR IsrCallback
Definition: fdo.h:32
Definition: fdo.h:88
UINT16 wp
Definition: fdo.h:94
PHYSICAL_ADDRESS addr
Definition: fdo.h:93
PHDAC_RIRB rirbbuf
Definition: fdo.h:91
UINT16 rp
Definition: fdo.h:94
HDAC_CODEC_XFER xfer[HDA_MAX_CODECS]
Definition: fdo.h:97
UINT32 * buf
Definition: fdo.h:90
LONG cmds[HDA_MAX_CODECS]
Definition: fdo.h:95
KEVENT xferEvent[HDA_MAX_CODECS]
Definition: fdo.h:96
Definition: fdo.h:79
UINT32 response_ex
Definition: fdo.h:81
UINT32 response
Definition: fdo.h:80
PVOID CallbackContext
Definition: fdo.h:27
PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback
Definition: fdo.h:26
PDEVICE_OBJECT Fdo
Definition: fdo.h:25
BOOLEAN InUse
Definition: fdo.h:24
HDAC_STREAM_CALLBACK registeredCallbacks[MAX_NOTIF_EVENTS]
Definition: fdo.h:71
PKEVENT registeredEvents[MAX_NOTIF_EVENTS]
Definition: fdo.h:70
UINT8 * sdAddr
Definition: fdo.h:60
BOOLEAN irqReceived
Definition: fdo.h:76
UINT32 periodBytes
Definition: fdo.h:56
UINT8 idx
Definition: fdo.h:66
UINT8 streamTag
Definition: fdo.h:65
BOOLEAN running
Definition: fdo.h:75
HDAC_BDLENTRY * bdl
Definition: fdo.h:51
struct _PDO_DEVICE_DATA * PdoContext
Definition: fdo.h:45
UINT8 * spib_addr
Definition: fdo.h:63
HDAUDIO_STREAM_FORMAT streamFormat
Definition: fdo.h:68
PMDL mdlBuf
Definition: fdo.h:47
PVOID dmaBuf
Definition: fdo.h:50
UINT32 * posbuf
Definition: fdo.h:48
UINT32 bufSz
Definition: fdo.h:55
UINT16 numBlocks
Definition: fdo.h:58
UINT32 int_sta_mask
Definition: fdo.h:61
struct _FDO_CONTEXT * FdoContext
Definition: fdo.h:44
BOOLEAN stripe
Definition: fdo.h:53
UINT32 fifoSize
Definition: fdo.h:57
HDAC_ISR_CALLBACK isr
Definition: fdo.h:73
Definition: fdo.h:9
ULONG Len
Definition: fdo.h:11
union baseaddr Base
Definition: fdo.h:10
#define NTAPI
Definition: typedefs.h:36
uint32_t UINT32
Definition: typedefs.h:59
uint32_t ULONG
Definition: typedefs.h:59
Definition: fdo.h:4
PVOID Base
Definition: fdo.h:5
UINT8 * baseptr
Definition: fdo.h:6
_In_ PWDFDEVICE_INIT DeviceInit
Definition: wdfcontrol.h:113
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)
Definition: wdfobject.h:350