cfg_cmn_mlme.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /*
  2. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for any
  6. * purpose with or without fee is hereby granted, provided that the above
  7. * copyright notice and this permission notice appear in all copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  10. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  11. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  12. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  13. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  14. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  15. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  16. */
  17. /**
  18. * DOC: This file contains umac mlme related CFG/INI Items.
  19. */
  20. #ifndef __CFG_CMN_MLME_H
  21. #define __CFG_CMN_MLME_H
  22. /*
  23. * <ini>
  24. * max_chan_switch_ie_enable - Flag to enable max chan switch IE support
  25. * @Min: false
  26. * @Max: true
  27. * @Default: false
  28. *
  29. * For non_ap platform, this flag will be enabled at later point and for ap
  30. * platform this flag will be disabled
  31. *
  32. * Related: None
  33. *
  34. * Supported Feature: Max channel switch IE
  35. *
  36. * Usage: External
  37. *
  38. * </ini>
  39. */
  40. #define CFG_MLME_MAX_CHAN_SWITCH_IE_ENABLE \
  41. CFG_INI_BOOL("max_chan_switch_ie_enable", \
  42. PLATFORM_VALUE(false, false), \
  43. "To enable max channel switch IE")
  44. /*
  45. * <ini>
  46. * mlme_11be_target_capab - Flag to check the target capability for 11be
  47. * @Min: false
  48. * @Max: true
  49. * @Default: false
  50. *
  51. * This flag helps in confirming whether 11be is supported by the target.
  52. *
  53. * Related: None
  54. *
  55. * Supported Feature: 11be
  56. *
  57. * Usage: Internal
  58. *
  59. * </ini>
  60. */
  61. #define CFG_MLME_11BE_TARGET_CAPAB CFG_UINT( \
  62. "mlme_11be_target_capab",\
  63. 0, \
  64. 1, \
  65. 1, \
  66. CFG_VALUE_OR_DEFAULT, \
  67. "11be is supported by target")
  68. #ifdef WLAN_FEATURE_11BE
  69. /*
  70. * <ini>
  71. * non_mlo_11be_ap_operation_enable - Flag to enable non MLO 802.11be AP
  72. * operation
  73. * @Min: false
  74. * @Max: true
  75. * @Default: false
  76. *
  77. * The 802.11be standard does not allow non-MLO 11be AP operation. For
  78. * development purposes, add an INI flag to enable/disable non-MLO 802.11be AP
  79. * operation. This INI will be disabled by default.
  80. *
  81. * Related: None
  82. *
  83. * Supported Feature: 802.11be protocol
  84. *
  85. * Usage: Internal
  86. *
  87. * </ini>
  88. */
  89. #define CFG_MLME_NON_MLO_11BE_AP_OPERATION_ENABLE \
  90. CFG_INI_BOOL("non_mlo_11be_ap_operation_enable", \
  91. false, \
  92. "Enable non MLO 11be AP operation")
  93. #define CFG_MLME_11BE_ALL \
  94. CFG(CFG_MLME_NON_MLO_11BE_AP_OPERATION_ENABLE)
  95. #else
  96. #define CFG_MLME_11BE_ALL
  97. #endif /* WLAN_FEATURE_11BE */
  98. /*
  99. * <ini>
  100. * mlme_mlo_reconfig_reassoc_enable- Flag for non-AP MLD re-association
  101. * upon detecting ML Reconfig AP addition
  102. * @Min: false
  103. * @Max: true
  104. * @Default: false
  105. *
  106. * This flag when set to true enables re-association by non-AP MLD when
  107. * the non-AP MLD detects that the AP MLD it is associated with has
  108. * added a new AP using ML Reconfiguration.
  109. *
  110. * Related: None
  111. *
  112. * Supported Feature: 11be MLO Reconfig
  113. *
  114. * Usage: Internal
  115. *
  116. * </ini>
  117. */
  118. #define CFG_MLME_MLO_RECONFIG_REASSOC_ENABLE CFG_INI_UINT( \
  119. "mlme_mlo_reconfig_reassoc_enable",\
  120. 0, 1, 0, \
  121. CFG_VALUE_OR_DEFAULT, \
  122. "MLO reconfig reassoc is supported by target")
  123. #define CFG_CMN_MLME_ALL \
  124. CFG(CFG_MLME_MAX_CHAN_SWITCH_IE_ENABLE) \
  125. CFG(CFG_MLME_11BE_TARGET_CAPAB) \
  126. CFG(CFG_MLME_MLO_RECONFIG_REASSOC_ENABLE) \
  127. CFG_MLME_11BE_ALL
  128. #endif /* __CFG_CMN_MLME_H */