cfg_mlme_dot11mode.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /*
  2. * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: This file contains centralized definitions of converged configuration.
  20. */
  21. #ifndef __CFG_MLME_DOT11MODE_H
  22. #define __CFG_MLME_DOT11MODE_H
  23. #define CFG_DOT11_MODE CFG_UINT( \
  24. "dot11_mode", \
  25. 0, \
  26. 10, \
  27. 0, \
  28. CFG_VALUE_OR_DEFAULT, \
  29. "dot 11 mode")
  30. /*
  31. * <ini>
  32. * vdev_dot11_mode- Bit mask to set the dot11 mode for different vdev types
  33. * @Min: 0x0
  34. * @Max: 0x333333
  35. * @Default: 0
  36. *
  37. * This ini is used to set the dot11mode different vdev types.
  38. * dot11_mode ini value (CFG_DOT11_MODE) is the master configuration
  39. * Min configuration of INI dot11_mode and vdev_dot11_mode is used for that
  40. * vdev type.
  41. * dot11_mode vdev_dot11_mode dot11_mode_used
  42. * 11AX 11AC 11AC
  43. * 11AC 11AX 11AC
  44. *
  45. * Dot11 mode value is 4 bit length for each vdev. Below is the bit definition
  46. * for different vdev types dot11 mode value bit index.
  47. *
  48. * Bits used for dot11mode Vdev Type
  49. * BIT[3:0] STA mode
  50. * BIT[7:4] P2P_CLI/P2P_DEVICE mode
  51. * BIT[11:8] NAN DISCOVERY
  52. * BIT[15:12] OCB
  53. * BIT[19:16] TDLS
  54. * BIT[23:20] NDI mode
  55. *
  56. * Dot11 mode value to be set in the above bit definition:
  57. * 0 - Auto, Uses CFG_DOT11_MODE setting
  58. * 1 - HT mode(11N)
  59. * 2 - VHT mode(11AC)
  60. * 3 - HE mode(11AX)
  61. *
  62. * E.g: vdev_dot11_mode=0x013220
  63. *
  64. * 0 1 3 2 2 0
  65. * NDI(auto) TDLS HT OCB_HE VHT NAN_DISC VHT P2P STA_AUTO
  66. *
  67. * Usage: Internal/External
  68. *
  69. * </ini>
  70. */
  71. #define CFG_VDEV_DOT11_MODE CFG_INI_UINT( \
  72. "vdev_dot11_mode", \
  73. 0, \
  74. 0x333333, \
  75. 0, \
  76. CFG_VALUE_OR_DEFAULT, \
  77. "vdev dot 11 mode")
  78. #define CFG_DOT11_MODE_ALL \
  79. CFG(CFG_DOT11_MODE) \
  80. CFG(CFG_VDEV_DOT11_MODE) \
  81. #endif /* __CFG_MLME_DOT11MODE_H */