rlm_obss.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. ** Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/mgmt/rlm_obss.h#1
  3. */
  4. /*! \file "rlm_obss.h"
  5. \brief
  6. */
  7. /*
  8. ** Log: rlm_obss.h
  9. **
  10. ** 09 17 2012 cm.chang
  11. ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
  12. ** Duplicate source from MT6620 v2.3 driver branch
  13. ** (Davinci label: MT6620_WIFI_Driver_V2_3_120913_1942_As_MT6630_Base)
  14. *
  15. * 01 24 2011 cm.chang
  16. * [WCXRP00000384] [MT6620 Wi-Fi][Driver][FW] Handle 20/40 action frame in AP mode and stop
  17. * ampdu timer when sta_rec is freed
  18. * Process received 20/40 coexistence action frame for AP mode
  19. *
  20. * 01 13 2011 cm.chang
  21. * [WCXRP00000358] [MT6620 Wi-Fi][Driver] Provide concurrent information for each module
  22. * Refine function when rcv a 20/40M public action frame
  23. *
  24. * 01 12 2011 cm.chang
  25. * [WCXRP00000354] [MT6620 Wi-Fi][Driver][FW] Follow NVRAM bandwidth setting
  26. * User-defined bandwidth is for 2.4G and 5G individually
  27. *
  28. * 08 24 2010 cm.chang
  29. * NULL
  30. * Support RLM initail channel of Ad-hoc, P2P and BOW
  31. *
  32. * 07 08 2010 cp.wu
  33. *
  34. * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
  35. *
  36. * 06 28 2010 cm.chang
  37. * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
  38. * 1st draft code for RLM module
  39. *
  40. * 05 07 2010 cm.chang
  41. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  42. * Process 20/40 coexistence public action frame in AP mode
  43. *
  44. * 05 05 2010 cm.chang
  45. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  46. * First draft support for 20/40M bandwidth for AP mode
  47. *
  48. * 04 07 2010 cm.chang
  49. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  50. * Add virtual test for OBSS scan
  51. *
  52. * 03 30 2010 cm.chang
  53. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  54. * Support 2.4G OBSS scan
  55. *
  56. * 02 13 2010 cm.chang
  57. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  58. * Support PCO in STA mode
  59. *
  60. * 02 12 2010 cm.chang
  61. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  62. * Use bss info array for concurrent handle
  63. *
  64. * 01 25 2010 cm.chang
  65. * [BORA00000018]Integrate WIFI part into BORA for the 1st time
  66. * Support protection and bandwidth switch
  67. */
  68. #ifndef _RLM_OBSS_H
  69. #define _RLM_OBSS_H
  70. /*******************************************************************************
  71. * C O M P I L E R F L A G S
  72. ********************************************************************************
  73. */
  74. /*******************************************************************************
  75. * E X T E R N A L R E F E R E N C E S
  76. ********************************************************************************
  77. */
  78. /*******************************************************************************
  79. * C O N S T A N T S
  80. ********************************************************************************
  81. */
  82. #define CHNL_LIST_SZ_2G 14
  83. #define CHNL_LIST_SZ_5G 14
  84. #define CHNL_LEVEL0 0
  85. #define CHNL_LEVEL1 1
  86. #define CHNL_LEVEL2 2
  87. #define AFFECTED_CHNL_OFFSET 5
  88. /*#define OBSS_SCAN_MIN_INTERVAL 10 *//* In unit of sec */
  89. #define PUBLIC_ACTION_MAX_LEN 200 /* In unit of byte */
  90. /* P2P GO only */
  91. /* Define default OBSS Scan parameters (from MIB in spec.) */
  92. #define dot11OBSSScanPassiveDwell 20
  93. #define dot11OBSSScanActiveDwell 10
  94. #define dot11OBSSScanPassiveTotalPerChannel 200
  95. #define dot11OBSSScanActiveTotalPerChannel 20
  96. #define dot11BSSWidthTriggerScanInterval 300 /* Unit: sec */
  97. #define dot11BSSWidthChannelTransitionDelayFactor 5
  98. #define dot11OBSSScanActivityThreshold 25
  99. #define OBSS_20_40M_TIMEOUT (dot11BSSWidthTriggerScanInterval + 10)
  100. /*******************************************************************************
  101. * D A T A T Y P E S
  102. ********************************************************************************
  103. */
  104. /* Control MAC PCO function */
  105. typedef enum _ENUM_SYS_PCO_PHASE_T {
  106. SYS_PCO_PHASE_DISABLED = 0,
  107. SYS_PCO_PHASE_20M,
  108. SYS_PCO_PHASE_40M
  109. } ENUM_SYS_PCO_PHASE_T, *P_ENUM_SYS_PCO_PHASE_T;
  110. /*******************************************************************************
  111. * P U B L I C D A T A
  112. ********************************************************************************
  113. */
  114. /*******************************************************************************
  115. * P R I V A T E D A T A
  116. ********************************************************************************
  117. */
  118. /*******************************************************************************
  119. * M A C R O S
  120. ********************************************************************************
  121. */
  122. /*******************************************************************************
  123. * F U N C T I O N D E C L A R A T I O N S
  124. ********************************************************************************
  125. */
  126. VOID rlmObssInit(P_ADAPTER_T prAdapter);
  127. VOID rlmObssScanDone(P_ADAPTER_T prAdapter, P_MSG_HDR_T prMsgHdr);
  128. VOID rlmObssTriggerScan(P_ADAPTER_T prAdapter, P_BSS_INFO_T prBssInfo);
  129. /*******************************************************************************
  130. * F U N C T I O N S
  131. ********************************************************************************
  132. */
  133. #endif /* _RLM_OBSS_H */