blob: 9a4603e85a36158534ad8b52c750aeacfa4ad30d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
#ifndef __INC_HAL_FW_H
#define __INC_HAL_FW_H
#define FW_QUEME_MECHANISM_NEW 0
#define FW_QUEUE_IDLE 0
#define FW_QUEUE_WAIT 1
#define FW_H2C_MAX_NUM 20
#if(FW_QUEME_MECHANISM_NEW == 1)
typedef struct _FW_COM_STR{
VIRTUAL_MEMORY fwDataListBuf;
u4Byte NumTotalH2c;
RT_LIST_ENTRY halFwH2cWaitQueue;
u4Byte NumFwWaitH2c;
RT_LIST_ENTRY halFwH2cIdleQueue;
u4Byte NumFwIdleH2c;
}FW_COM_STR, *PFW_COM_STR;
#else
#define FW_COM_STR u1Byte
#endif
// H2C command structre to keep the info for USB/SDIO interface.
// The H2C cmd format in 92S is different from 92C/88E series
// so use_H2C_CMD _8192C to separare 92S and 92C/88E series.
typedef struct _H2C_CMD_8192C
{
u1Byte ElementID;
u4Byte CmdLen;
u4Byte CmdBuffer[2];
u1Byte InProgress;
}H2C_CMD_8192C,*PH2C_CMD_8192C;
typedef struct _H2C_CMD_ENTRY
{
RT_LIST_ENTRY listEntry;
H2C_CMD_8192C h2cCmd;
}H2C_CMD_ENTRY,*PH2C_CMD_ENTRY;
#if(FW_QUEME_MECHANISM_NEW == 1)
//==================================================
// extern function
//==================================================
RT_STATUS
FW_AllocateMemory(
IN PADAPTER Adapter
);
VOID
FW_FreeMemory(
IN PADAPTER Adapter
);
BOOLEAN
FW_SendH2c(
IN PADAPTER Adapter,
IN u1Byte elementId,
IN u4Byte dataLen,
IN pu1Byte pData
);
BOOLEAN
FW_RetrieveH2c(
IN PADAPTER Adapter,
IN pu1Byte pData
);
BOOLEAN
FW_IsH2cWaitQueueEmpty(
IN PADAPTER Adapter
);
#else
#define FW_AllocateMemory(Adapter) RT_STATUS_SUCCESS
#define FW_FreeMemory(Adapter)
#endif
VOID
FW_InitializeVariables(
IN PADAPTER Adapter
);
VOID
FW_FillH2CCmd(
IN PADAPTER Adapter,
IN u1Byte ElementID,
IN u4Byte CmdLen,
IN pu1Byte pCmdBuffer
);
VOID
FW_WaitForH2CQueueEmpty(
IN PADAPTER pAdapter
);
VOID
FW_InitializeHALVars(
IN PADAPTER Adapter
);
RT_STATUS
FW_FirmwareDownload(
IN PADAPTER Adapter,
IN BOOLEAN bUsedWoWLANFw
);
#endif
|