2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/mgmt/swcr.h#1 $
9 /*******************************************************************************
10 * Copyright (c) 2009 MediaTek Inc.
12 * All rights reserved. Copying, compilation, modification, distribution
13 * or any other use whatsoever of this material is strictly prohibited
14 * except in accordance with a Software License Agreement with
16 ********************************************************************************
19 /*******************************************************************************
22 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
23 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
24 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
25 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
26 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
27 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
28 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
29 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
30 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
31 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
32 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
33 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
34 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
36 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
37 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
38 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
39 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
40 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
42 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
43 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
44 * OF LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
45 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
46 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
48 ********************************************************************************
58 /*******************************************************************************
59 * C O M P I L E R F L A G S
60 ********************************************************************************
63 /*******************************************************************************
64 * E X T E R N A L R E F E R E N C E S
65 ********************************************************************************
68 /*******************************************************************************
70 ********************************************************************************
73 #define SWCR_VAR(x) ((VOID *)&x)
74 #define SWCR_FUNC(x) ((VOID *)x)
76 #define SWCR_T_FUNC BIT(7)
85 #define SWCR_MAP_NUM(x) (sizeof(x)/sizeof(x[0]))
89 #define SWCR_GET_RW_INDEX(action,rw,index) \
90 index = action & 0x7F; \
94 extern UINT_32 g_au4SwCr[]; /*: 0: command other: data */
96 typedef VOID (*PFN_SWCR_RW_T)(P_ADAPTER_T prAdapter, UINT_8 ucRead, UINT_16 u2Addr, UINT_32 *pu4Data);
97 typedef VOID (*PFN_CMD_RW_T)(P_ADAPTER_T prAdapter, UINT_8 ucCate, UINT_8 ucAction, UINT_8 ucOpt0,UINT_8 ucOpt1);
99 typedef struct _SWCR_MAP_ENTRY_T {
102 } SWCR_MAP_ENTRY_T, *P_SWCR_MAP_ENTRY_T;
105 typedef struct _SWCR_MOD_MAP_ENTRY_T {
107 P_SWCR_MAP_ENTRY_T prSwCrMap;
108 } SWCR_MOD_MAP_ENTRY_T, *P_SWCR_MOD_MAP_ENTRY_T;
110 typedef enum _ENUM_SWCR_DBG_TYPE_T {
111 SWCR_DBG_TYPE_ALL = 0,
113 SWCR_DBG_TYPE_RX_RATES,
116 } ENUM_SWCR_DBG_TYPE_T;
118 typedef enum _ENUM_SWCR_DBG_ALL_T {
119 SWCR_DBG_ALL_TX_CNT = 0,
120 SWCR_DBG_ALL_TX_BCN_CNT,
121 SWCR_DBG_ALL_TX_FAILED_CNT,
122 SWCR_DBG_ALL_TX_RETRY_CNT,
123 SWCR_DBG_ALL_TX_AGING_TIMEOUT_CNT,
124 SWCR_DBG_ALL_TX_PS_OVERFLOW_CNT,
125 SWCR_DBG_ALL_TX_MGNT_DROP_CNT,
126 SWCR_DBG_ALL_TX_ERROR_CNT,
129 SWCR_DBG_ALL_RX_DROP_CNT,
130 SWCR_DBG_ALL_RX_DUP_DROP_CNT,
131 SWCR_DBG_ALL_RX_TYPE_ERROR_DROP_CNT,
132 SWCR_DBG_ALL_RX_CLASS_ERROR_DROP_CNT,
133 SWCR_DBG_ALL_RX_AMPDU_ERROR_DROP_CNT,
135 SWCR_DBG_ALL_RX_STATUS_ERROR_DROP_CNT,
136 SWCR_DBG_ALL_RX_FORMAT_ERROR_DROP_CNT,
137 SWCR_DBG_ALL_RX_ICV_ERROR_DROP_CNT,
138 SWCR_DBG_ALL_RX_KEY_ERROR_DROP_CNT,
139 SWCR_DBG_ALL_RX_TKIP_ERROR_DROP_CNT,
140 SWCR_DBG_ALL_RX_MIC_ERROR_DROP_CNT,
141 SWCR_DBG_ALL_RX_BIP_ERROR_DROP_CNT,
143 SWCR_DBG_ALL_RX_FCSERR_CNT,
144 SWCR_DBG_ALL_RX_FIFOFULL_CNT,
145 SWCR_DBG_ALL_RX_PFDROP_CNT,
147 SWCR_DBG_ALL_PWR_PS_POLL_CNT,
148 SWCR_DBG_ALL_PWR_TRIGGER_NULL_CNT,
149 SWCR_DBG_ALL_PWR_BCN_IND_CNT,
150 SWCR_DBG_ALL_PWR_BCN_TIMEOUT_CNT,
151 SWCR_DBG_ALL_PWR_PM_STATE0,
152 SWCR_DBG_ALL_PWR_PM_STATE1,
153 SWCR_DBG_ALL_PWR_CUR_PS_PROF0,
154 SWCR_DBG_ALL_PWR_CUR_PS_PROF1,
156 SWCR_DBG_ALL_AR_STA0_RATE,
157 SWCR_DBG_ALL_AR_STA0_BWGI,
158 SWCR_DBG_ALL_AR_STA0_RX_RATE_RCPI,
160 SWCR_DBG_ALL_ROAMING_ENABLE,
161 SWCR_DBG_ALL_ROAMING_ROAM_CNT,
162 SWCR_DBG_ALL_ROAMING_INT_CNT,
164 SWCR_DBG_ALL_BB_RX_MDRDY_CNT,
165 SWCR_DBG_ALL_BB_RX_FCSERR_CNT,
166 SWCR_DBG_ALL_BB_CCK_PD_CNT,
167 SWCR_DBG_ALL_BB_OFDM_PD_CNT,
168 SWCR_DBG_ALL_BB_CCK_SFDERR_CNT,
169 SWCR_DBG_ALL_BB_CCK_SIGERR_CNT,
170 SWCR_DBG_ALL_BB_OFDM_TAGERR_CNT,
171 SWCR_DBG_ALL_BB_OFDM_SIGERR_CNT,
174 } ENUM_SWCR_DBG_ALL_T;
176 /*******************************************************************************
178 ********************************************************************************
181 /*******************************************************************************
182 * P U B L I C D A T A
183 ********************************************************************************
186 /*******************************************************************************
187 * P R I V A T E D A T A
188 ********************************************************************************
191 /*******************************************************************************
193 ********************************************************************************
196 /*******************************************************************************
197 * F U N C T I O N D E C L A R A T I O N S
198 ********************************************************************************
202 /*******************************************************************************
204 ********************************************************************************
207 VOID swCrReadWriteCmd(
208 P_ADAPTER_T prAdapter,
215 VOID swCrFrameCheckEnable(P_ADAPTER_T prAdapter, UINT_32 u4DumpType);
216 VOID swCrDebugInit(P_ADAPTER_T prAdapter);
217 VOID swCrDebugCheckEnable(P_ADAPTER_T prAdapter, BOOLEAN fgIsEnable, UINT_8 ucType, UINT_32 u4Timeout);
218 VOID swCrDebugUninit(P_ADAPTER_T prAdapter);