rx_rxpcu_classification_overview.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. /*
  2. * Copyright (c) 2017 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. #ifndef _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
  19. #define _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
  20. #if !defined(__ASSEMBLER__)
  21. #endif
  22. // ################ START SUMMARY #################
  23. //
  24. // Dword Fields
  25. // 0 filter_pass_mpdus[0], filter_pass_mpdus_fcs_ok[1], monitor_direct_mpdus[2], monitor_direct_mpdus_fcs_ok[3], monitor_other_mpdus[4], monitor_other_mpdus_fcs_ok[5], reserved_0[15:6], phy_ppdu_id[31:16]
  26. //
  27. // ################ END SUMMARY #################
  28. #define NUM_OF_DWORDS_RX_RXPCU_CLASSIFICATION_OVERVIEW 1
  29. struct rx_rxpcu_classification_overview {
  30. uint32_t filter_pass_mpdus : 1, //[0]
  31. filter_pass_mpdus_fcs_ok : 1, //[1]
  32. monitor_direct_mpdus : 1, //[2]
  33. monitor_direct_mpdus_fcs_ok : 1, //[3]
  34. monitor_other_mpdus : 1, //[4]
  35. monitor_other_mpdus_fcs_ok : 1, //[5]
  36. reserved_0 : 10, //[15:6]
  37. phy_ppdu_id : 16; //[31:16]
  38. };
  39. /*
  40. filter_pass_mpdus
  41. When set, at least one Filter Pass MPDU has been
  42. received. FCS might or might not have been passing
  43. <legal all>
  44. filter_pass_mpdus_fcs_ok
  45. When set, at least one Filter Pass MPDU has been
  46. received that has a correct FCS.
  47. <legal all>
  48. monitor_direct_mpdus
  49. When set, at least one Monitor Direct MPDU has been
  50. received. FCS might or might not have been passing
  51. <legal all>
  52. monitor_direct_mpdus_fcs_ok
  53. When set, at least one Monitor Direct MPDU has been
  54. received that has a correct FCS.
  55. <legal all>
  56. monitor_other_mpdus
  57. When set, at least one Monitor Direct MPDU has been
  58. received. FCS might or might not have been passing
  59. <legal all>
  60. monitor_other_mpdus_fcs_ok
  61. When set, at least one Monitor Direct MPDU has been
  62. received that has a correct FCS.
  63. <legal all>
  64. reserved_0
  65. <legal 0>
  66. phy_ppdu_id
  67. A ppdu counter value that PHY increments for every PPDU
  68. received. The counter value wraps around
  69. <legal all>
  70. */
  71. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS
  72. When set, at least one Filter Pass MPDU has been
  73. received. FCS might or might not have been passing
  74. <legal all>
  75. */
  76. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_OFFSET 0x00000000
  77. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_LSB 0
  78. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_MASK 0x00000001
  79. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK
  80. When set, at least one Filter Pass MPDU has been
  81. received that has a correct FCS.
  82. <legal all>
  83. */
  84. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x00000000
  85. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_LSB 1
  86. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_MASK 0x00000002
  87. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS
  88. When set, at least one Monitor Direct MPDU has been
  89. received. FCS might or might not have been passing
  90. <legal all>
  91. */
  92. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_OFFSET 0x00000000
  93. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_LSB 2
  94. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_MASK 0x00000004
  95. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK
  96. When set, at least one Monitor Direct MPDU has been
  97. received that has a correct FCS.
  98. <legal all>
  99. */
  100. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x00000000
  101. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3
  102. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x00000008
  103. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS
  104. When set, at least one Monitor Direct MPDU has been
  105. received. FCS might or might not have been passing
  106. <legal all>
  107. */
  108. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_OFFSET 0x00000000
  109. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_LSB 4
  110. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_MASK 0x00000010
  111. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK
  112. When set, at least one Monitor Direct MPDU has been
  113. received that has a correct FCS.
  114. <legal all>
  115. */
  116. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x00000000
  117. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5
  118. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x00000020
  119. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0
  120. <legal 0>
  121. */
  122. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_OFFSET 0x00000000
  123. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_LSB 6
  124. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_MASK 0x0000ffc0
  125. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID
  126. A ppdu counter value that PHY increments for every PPDU
  127. received. The counter value wraps around
  128. <legal all>
  129. */
  130. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_OFFSET 0x00000000
  131. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_LSB 16
  132. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_MASK 0xffff0000
  133. #endif // _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_