swcr.h 6.1 KB

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