rlm_obss.h 5.1 KB

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