4ea322d9763d903546ad0fda912e2dbf7ebf1e0a
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / combo_mt66xx / mt6628 / 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, UINT_32 *pu4Data);
57 typedef VOID (*PFN_CMD_RW_T)(P_ADAPTER_T prAdapter, UINT_8 ucCate, UINT_8 ucAction, UINT_8 ucOpt0,UINT_8 ucOpt1);
58
59 typedef struct _SWCR_MAP_ENTRY_T {
60     UINT_16             u2Type;
61     PVOID               u4Addr;
62 } SWCR_MAP_ENTRY_T, *P_SWCR_MAP_ENTRY_T;
63
64
65 typedef struct _SWCR_MOD_MAP_ENTRY_T {
66     UINT_8 ucMapNum;
67     P_SWCR_MAP_ENTRY_T prSwCrMap;
68 } SWCR_MOD_MAP_ENTRY_T, *P_SWCR_MOD_MAP_ENTRY_T;
69
70 typedef enum _ENUM_SWCR_DBG_TYPE_T {
71     SWCR_DBG_TYPE_ALL = 0,
72     SWCR_DBG_TYPE_TXRX,
73     SWCR_DBG_TYPE_RX_RATES,
74     SWCR_DBG_TYPE_PS,
75     SWCR_DBG_TYPE_NUM
76 } ENUM_SWCR_DBG_TYPE_T;
77
78 typedef enum _ENUM_SWCR_DBG_ALL_T {
79     SWCR_DBG_ALL_TX_CNT = 0,
80     SWCR_DBG_ALL_TX_BCN_CNT,
81     SWCR_DBG_ALL_TX_FAILED_CNT,
82     SWCR_DBG_ALL_TX_RETRY_CNT,
83     SWCR_DBG_ALL_TX_AGING_TIMEOUT_CNT,
84     SWCR_DBG_ALL_TX_PS_OVERFLOW_CNT,
85     SWCR_DBG_ALL_TX_MGNT_DROP_CNT,
86     SWCR_DBG_ALL_TX_ERROR_CNT,    
87     
88     SWCR_DBG_ALL_RX_CNT,
89     SWCR_DBG_ALL_RX_DROP_CNT,
90     SWCR_DBG_ALL_RX_DUP_DROP_CNT,
91     SWCR_DBG_ALL_RX_TYPE_ERROR_DROP_CNT,    
92     SWCR_DBG_ALL_RX_CLASS_ERROR_DROP_CNT,
93     SWCR_DBG_ALL_RX_AMPDU_ERROR_DROP_CNT,
94     
95     SWCR_DBG_ALL_RX_STATUS_ERROR_DROP_CNT,
96     SWCR_DBG_ALL_RX_FORMAT_ERROR_DROP_CNT,
97     SWCR_DBG_ALL_RX_ICV_ERROR_DROP_CNT,
98     SWCR_DBG_ALL_RX_KEY_ERROR_DROP_CNT,    
99     SWCR_DBG_ALL_RX_TKIP_ERROR_DROP_CNT,
100     SWCR_DBG_ALL_RX_MIC_ERROR_DROP_CNT,
101     SWCR_DBG_ALL_RX_BIP_ERROR_DROP_CNT,
102     
103     SWCR_DBG_ALL_RX_FCSERR_CNT,
104     SWCR_DBG_ALL_RX_FIFOFULL_CNT,
105     SWCR_DBG_ALL_RX_PFDROP_CNT,
106     
107     SWCR_DBG_ALL_PWR_PS_POLL_CNT,
108     SWCR_DBG_ALL_PWR_TRIGGER_NULL_CNT,
109     SWCR_DBG_ALL_PWR_BCN_IND_CNT,
110     SWCR_DBG_ALL_PWR_BCN_TIMEOUT_CNT,
111     SWCR_DBG_ALL_PWR_PM_STATE0,
112     SWCR_DBG_ALL_PWR_PM_STATE1,
113     SWCR_DBG_ALL_PWR_CUR_PS_PROF0,
114     SWCR_DBG_ALL_PWR_CUR_PS_PROF1,
115     
116     SWCR_DBG_ALL_AR_STA0_RATE,
117     SWCR_DBG_ALL_AR_STA0_BWGI,
118     SWCR_DBG_ALL_AR_STA0_RX_RATE_RCPI,
119
120     SWCR_DBG_ALL_ROAMING_ENABLE,
121     SWCR_DBG_ALL_ROAMING_ROAM_CNT,
122     SWCR_DBG_ALL_ROAMING_INT_CNT,
123
124     SWCR_DBG_ALL_BB_RX_MDRDY_CNT,
125     SWCR_DBG_ALL_BB_RX_FCSERR_CNT,
126     SWCR_DBG_ALL_BB_CCK_PD_CNT,
127     SWCR_DBG_ALL_BB_OFDM_PD_CNT,
128     SWCR_DBG_ALL_BB_CCK_SFDERR_CNT,
129     SWCR_DBG_ALL_BB_CCK_SIGERR_CNT,
130     SWCR_DBG_ALL_BB_OFDM_TAGERR_CNT,
131     SWCR_DBG_ALL_BB_OFDM_SIGERR_CNT,
132     
133     SWCR_DBG_ALL_NUM
134 } ENUM_SWCR_DBG_ALL_T;
135
136 /*******************************************************************************
137 *                             D A T A   T Y P E S
138 ********************************************************************************
139 */
140
141 /*******************************************************************************
142 *                            P U B L I C   D A T A
143 ********************************************************************************
144 */
145
146 /*******************************************************************************
147 *                           P R I V A T E   D A T A
148 ********************************************************************************
149 */
150
151 /*******************************************************************************
152 *                                 M A C R O S
153 ********************************************************************************
154 */
155
156 /*******************************************************************************
157 *                   F U N C T I O N   D E C L A R A T I O N S
158 ********************************************************************************
159 */
160
161
162 /*******************************************************************************
163 *                              F U N C T I O N S
164 ********************************************************************************
165 */
166
167 VOID swCrReadWriteCmd(
168         P_ADAPTER_T prAdapter,
169         UINT_8 ucRead, 
170         UINT_16 u2Addr, 
171         UINT_32 *pu4Data
172         );
173
174 /* Debug Support */
175 VOID swCrFrameCheckEnable(P_ADAPTER_T  prAdapter, UINT_32 u4DumpType);
176 VOID swCrDebugInit(P_ADAPTER_T  prAdapter);
177 VOID swCrDebugCheckEnable(P_ADAPTER_T  prAdapter, BOOLEAN fgIsEnable, UINT_8 ucType, UINT_32 u4Timeout);
178 VOID swCrDebugUninit(P_ADAPTER_T  prAdapter);
179
180 #endif