import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / drv_wlan / mt6620 / wlan / include / mgmt / swcr.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/mgmt/swcr.h#1 $
3 */
4
5 /*! \file "swcr.h"
6 \brief
7 */
8
9
10
11 /*
12 *
13 */
14
15 #ifndef _SWCR_H
16 #define _SWCR_H
17
18 /*******************************************************************************
19 * C O M P I L E R F L A G S
20 ********************************************************************************
21 */
22
23 /*******************************************************************************
24 * E X T E R N A L R E F E R E N C E S
25 ********************************************************************************
26 */
27
28 /*******************************************************************************
29 * C O N S T A N T S
30 ********************************************************************************
31 */
32
33 #define SWCR_VAR(x) ((VOID *)&x)
34 #define SWCR_FUNC(x) ((VOID *)x)
35
36 #define SWCR_T_FUNC BIT(7)
37
38 #define SWCR_L_32 3
39 #define SWCR_L_16 2
40 #define SWCR_L_8 1
41
42 #define SWCR_READ 0
43 #define SWCR_WRITE 1
44
45 #define SWCR_MAP_NUM(x) (sizeof(x)/sizeof(x[0]))
46
47 #define SWCR_CR_NUM 7
48
49 #define SWCR_GET_RW_INDEX(action, rw, index) \
50 index = action & 0x7F; \
51 rw = action >> 7;
52
53
54 extern UINT_32 g_au4SwCr[]; /*: 0: command other: data */
55
56 typedef VOID(*PFN_SWCR_RW_T) (P_ADAPTER_T prAdapter, UINT_8 ucRead, UINT_16 u2Addr,
57 UINT_32 *pu4Data);
58 typedef VOID(*PFN_CMD_RW_T) (P_ADAPTER_T prAdapter, UINT_8 ucCate, UINT_8 ucAction, UINT_8 ucOpt0,
59 UINT_8 ucOpt1);
60
61 typedef struct _SWCR_MAP_ENTRY_T {
62 UINT_16 u2Type;
63 PVOID u4Addr;
64 } SWCR_MAP_ENTRY_T, *P_SWCR_MAP_ENTRY_T;
65
66
67 typedef struct _SWCR_MOD_MAP_ENTRY_T {
68 UINT_8 ucMapNum;
69 P_SWCR_MAP_ENTRY_T prSwCrMap;
70 } SWCR_MOD_MAP_ENTRY_T, *P_SWCR_MOD_MAP_ENTRY_T;
71
72 typedef enum _ENUM_SWCR_DBG_TYPE_T {
73 SWCR_DBG_TYPE_ALL = 0,
74 SWCR_DBG_TYPE_TXRX,
75 SWCR_DBG_TYPE_RX_RATES,
76 SWCR_DBG_TYPE_PS,
77 SWCR_DBG_TYPE_NUM
78 } ENUM_SWCR_DBG_TYPE_T;
79
80 typedef enum _ENUM_SWCR_DBG_ALL_T {
81 SWCR_DBG_ALL_TX_CNT = 0,
82 SWCR_DBG_ALL_TX_BCN_CNT,
83 SWCR_DBG_ALL_TX_FAILED_CNT,
84 SWCR_DBG_ALL_TX_RETRY_CNT,
85 SWCR_DBG_ALL_TX_AGING_TIMEOUT_CNT,
86 SWCR_DBG_ALL_TX_PS_OVERFLOW_CNT,
87 SWCR_DBG_ALL_TX_MGNT_DROP_CNT,
88 SWCR_DBG_ALL_TX_ERROR_CNT,
89
90 SWCR_DBG_ALL_RX_CNT,
91 SWCR_DBG_ALL_RX_DROP_CNT,
92 SWCR_DBG_ALL_RX_DUP_DROP_CNT,
93 SWCR_DBG_ALL_RX_TYPE_ERROR_DROP_CNT,
94 SWCR_DBG_ALL_RX_CLASS_ERROR_DROP_CNT,
95 SWCR_DBG_ALL_RX_AMPDU_ERROR_DROP_CNT,
96
97 SWCR_DBG_ALL_RX_STATUS_ERROR_DROP_CNT,
98 SWCR_DBG_ALL_RX_FORMAT_ERROR_DROP_CNT,
99 SWCR_DBG_ALL_RX_ICV_ERROR_DROP_CNT,
100 SWCR_DBG_ALL_RX_KEY_ERROR_DROP_CNT,
101 SWCR_DBG_ALL_RX_TKIP_ERROR_DROP_CNT,
102 SWCR_DBG_ALL_RX_MIC_ERROR_DROP_CNT,
103 SWCR_DBG_ALL_RX_BIP_ERROR_DROP_CNT,
104
105 SWCR_DBG_ALL_RX_FCSERR_CNT,
106 SWCR_DBG_ALL_RX_FIFOFULL_CNT,
107 SWCR_DBG_ALL_RX_PFDROP_CNT,
108
109 SWCR_DBG_ALL_PWR_PS_POLL_CNT,
110 SWCR_DBG_ALL_PWR_TRIGGER_NULL_CNT,
111 SWCR_DBG_ALL_PWR_BCN_IND_CNT,
112 SWCR_DBG_ALL_PWR_BCN_TIMEOUT_CNT,
113 SWCR_DBG_ALL_PWR_PM_STATE0,
114 SWCR_DBG_ALL_PWR_PM_STATE1,
115 SWCR_DBG_ALL_PWR_CUR_PS_PROF0,
116 SWCR_DBG_ALL_PWR_CUR_PS_PROF1,
117
118 SWCR_DBG_ALL_AR_STA0_RATE,
119 SWCR_DBG_ALL_AR_STA0_BWGI,
120 SWCR_DBG_ALL_AR_STA0_RX_RATE_RCPI,
121
122 SWCR_DBG_ALL_ROAMING_ENABLE,
123 SWCR_DBG_ALL_ROAMING_ROAM_CNT,
124 SWCR_DBG_ALL_ROAMING_INT_CNT,
125
126 SWCR_DBG_ALL_BB_RX_MDRDY_CNT,
127 SWCR_DBG_ALL_BB_RX_FCSERR_CNT,
128 SWCR_DBG_ALL_BB_CCK_PD_CNT,
129 SWCR_DBG_ALL_BB_OFDM_PD_CNT,
130 SWCR_DBG_ALL_BB_CCK_SFDERR_CNT,
131 SWCR_DBG_ALL_BB_CCK_SIGERR_CNT,
132 SWCR_DBG_ALL_BB_OFDM_TAGERR_CNT,
133 SWCR_DBG_ALL_BB_OFDM_SIGERR_CNT,
134
135 SWCR_DBG_ALL_NUM
136 } ENUM_SWCR_DBG_ALL_T;
137
138 /*******************************************************************************
139 * D A T A T Y P E S
140 ********************************************************************************
141 */
142
143 /*******************************************************************************
144 * P U B L I C D A T A
145 ********************************************************************************
146 */
147
148 /*******************************************************************************
149 * P R I V A T E D A T A
150 ********************************************************************************
151 */
152
153 /*******************************************************************************
154 * M A C R O S
155 ********************************************************************************
156 */
157
158 /*******************************************************************************
159 * F U N C T I O N D E C L A R A T I O N S
160 ********************************************************************************
161 */
162
163
164 /*******************************************************************************
165 * F U N C T I O N S
166 ********************************************************************************
167 */
168
169 VOID swCrReadWriteCmd(P_ADAPTER_T prAdapter, UINT_8 ucRead, UINT_16 u2Addr, UINT_32 *pu4Data);
170
171 /* Debug Support */
172 VOID swCrFrameCheckEnable(P_ADAPTER_T prAdapter, UINT_32 u4DumpType);
173 VOID swCrDebugInit(P_ADAPTER_T prAdapter);
174 VOID swCrDebugCheckEnable(P_ADAPTER_T prAdapter, BOOLEAN fgIsEnable, UINT_8 ucType,
175 UINT_32 u4Timeout);
176 VOID swCrDebugUninit(P_ADAPTER_T prAdapter);
177
178 #endif