rx_rxpcu_classification_overview.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. /*
  2. * Copyright (c) 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. // DO NOT EDIT! This file is automatically generated
  20. // These definitions are tied to a particular hardware layout
  21. #ifndef _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
  22. #define _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_
  23. #if !defined(__ASSEMBLER__)
  24. #endif
  25. // ################ START SUMMARY #################
  26. //
  27. // Dword Fields
  28. // 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], phyrx_abort_received[6], reserved_0[15:7], phy_ppdu_id[31:16]
  29. //
  30. // ################ END SUMMARY #################
  31. #define NUM_OF_DWORDS_RX_RXPCU_CLASSIFICATION_OVERVIEW 1
  32. struct rx_rxpcu_classification_overview {
  33. uint32_t filter_pass_mpdus : 1, //[0]
  34. filter_pass_mpdus_fcs_ok : 1, //[1]
  35. monitor_direct_mpdus : 1, //[2]
  36. monitor_direct_mpdus_fcs_ok : 1, //[3]
  37. monitor_other_mpdus : 1, //[4]
  38. monitor_other_mpdus_fcs_ok : 1, //[5]
  39. phyrx_abort_received : 1, //[6]
  40. reserved_0 : 9, //[15:7]
  41. phy_ppdu_id : 16; //[31:16]
  42. };
  43. /*
  44. filter_pass_mpdus
  45. When set, at least one Filter Pass MPDU has been
  46. received. FCS might or might not have been passing.
  47. For MU UL, in TLVs RX_PPDU_END and
  48. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  49. users.
  50. <legal all>
  51. filter_pass_mpdus_fcs_ok
  52. When set, at least one Filter Pass MPDU has been
  53. received that has a correct FCS.
  54. For MU UL, in TLVs RX_PPDU_END and
  55. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  56. users.
  57. <legal all>
  58. monitor_direct_mpdus
  59. When set, at least one Monitor Direct MPDU has been
  60. received. FCS might or might not have been passing
  61. For MU UL, in TLVs RX_PPDU_END and
  62. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  63. users.
  64. <legal all>
  65. monitor_direct_mpdus_fcs_ok
  66. When set, at least one Monitor Direct MPDU has been
  67. received that has a correct FCS.
  68. For MU UL, in TLVs RX_PPDU_END and
  69. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  70. users.
  71. <legal all>
  72. monitor_other_mpdus
  73. When set, at least one Monitor Direct MPDU has been
  74. received. FCS might or might not have been passing.
  75. For MU UL, in TLVs RX_PPDU_END and
  76. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  77. users.
  78. <legal all>
  79. monitor_other_mpdus_fcs_ok
  80. When set, at least one Monitor Direct MPDU has been
  81. received that has a correct FCS.
  82. For MU UL, in TLVs RX_PPDU_END and
  83. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  84. users.
  85. <legal all>
  86. phyrx_abort_received
  87. When set, PPDU reception was aborted by the PHY
  88. <legal all>
  89. reserved_0
  90. <legal 0>
  91. phy_ppdu_id
  92. A ppdu counter value that PHY increments for every PPDU
  93. received. The counter value wraps around
  94. <legal all>
  95. */
  96. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS
  97. When set, at least one Filter Pass MPDU has been
  98. received. FCS might or might not have been passing.
  99. For MU UL, in TLVs RX_PPDU_END and
  100. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  101. users.
  102. <legal all>
  103. */
  104. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_OFFSET 0x00000000
  105. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_LSB 0
  106. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_MASK 0x00000001
  107. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK
  108. When set, at least one Filter Pass MPDU has been
  109. received that has a correct FCS.
  110. For MU UL, in TLVs RX_PPDU_END and
  111. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  112. users.
  113. <legal all>
  114. */
  115. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x00000000
  116. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_LSB 1
  117. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_FILTER_PASS_MPDUS_FCS_OK_MASK 0x00000002
  118. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS
  119. When set, at least one Monitor Direct MPDU has been
  120. received. FCS might or might not have been passing
  121. For MU UL, in TLVs RX_PPDU_END and
  122. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  123. users.
  124. <legal all>
  125. */
  126. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_OFFSET 0x00000000
  127. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_LSB 2
  128. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_MASK 0x00000004
  129. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK
  130. When set, at least one Monitor Direct MPDU has been
  131. received that has a correct FCS.
  132. For MU UL, in TLVs RX_PPDU_END and
  133. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  134. users.
  135. <legal all>
  136. */
  137. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x00000000
  138. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3
  139. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x00000008
  140. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS
  141. When set, at least one Monitor Direct MPDU has been
  142. received. FCS might or might not have been passing.
  143. For MU UL, in TLVs RX_PPDU_END and
  144. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  145. users.
  146. <legal all>
  147. */
  148. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_OFFSET 0x00000000
  149. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_LSB 4
  150. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_MASK 0x00000010
  151. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK
  152. When set, at least one Monitor Direct MPDU has been
  153. received that has a correct FCS.
  154. For MU UL, in TLVs RX_PPDU_END and
  155. RX_PPDU_END_STATUS_DONE, this field is the OR of all the
  156. users.
  157. <legal all>
  158. */
  159. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x00000000
  160. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5
  161. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x00000020
  162. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHYRX_ABORT_RECEIVED
  163. When set, PPDU reception was aborted by the PHY
  164. <legal all>
  165. */
  166. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHYRX_ABORT_RECEIVED_OFFSET 0x00000000
  167. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHYRX_ABORT_RECEIVED_LSB 6
  168. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHYRX_ABORT_RECEIVED_MASK 0x00000040
  169. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0
  170. <legal 0>
  171. */
  172. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_OFFSET 0x00000000
  173. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_LSB 7
  174. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_RESERVED_0_MASK 0x0000ff80
  175. /* Description RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID
  176. A ppdu counter value that PHY increments for every PPDU
  177. received. The counter value wraps around
  178. <legal all>
  179. */
  180. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_OFFSET 0x00000000
  181. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_LSB 16
  182. #define RX_RXPCU_CLASSIFICATION_OVERVIEW_0_PHY_PPDU_ID_MASK 0xffff0000
  183. #endif // _RX_RXPCU_CLASSIFICATION_OVERVIEW_H_