phyrx_abort_request_info.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. /*
  2. * Copyright (c) 2021 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. // $ATH_LICENSE_HW_HDR_C$
  17. //
  18. // DO NOT EDIT! This file is automatically generated
  19. // These definitions are tied to a particular hardware layout
  20. #ifndef _PHYRX_ABORT_REQUEST_INFO_H_
  21. #define _PHYRX_ABORT_REQUEST_INFO_H_
  22. #if !defined(__ASSEMBLER__)
  23. #endif
  24. // ################ START SUMMARY #################
  25. //
  26. // Dword Fields
  27. // 0 phyrx_abort_reason[7:0], phy_enters_nap_state[8], phy_enters_defer_state[9], reserved_0[15:10], receive_duration[31:16]
  28. //
  29. // ################ END SUMMARY #################
  30. #define NUM_OF_DWORDS_PHYRX_ABORT_REQUEST_INFO 1
  31. struct phyrx_abort_request_info {
  32. uint32_t phyrx_abort_reason : 8, //[7:0]
  33. phy_enters_nap_state : 1, //[8]
  34. phy_enters_defer_state : 1, //[9]
  35. reserved_0 : 6, //[15:10]
  36. receive_duration : 16; //[31:16]
  37. };
  38. /*
  39. phyrx_abort_reason
  40. <enum 0 phyrx_err_phy_off> Reception aborted due to
  41. receiving a PHY_OFF TLV
  42. <enum 1 phyrx_err_synth_off>
  43. <enum 2 phyrx_err_ofdma_timing>
  44. <enum 3 phyrx_err_ofdma_signal_parity>
  45. <enum 4 phyrx_err_ofdma_rate_illegal>
  46. <enum 5 phyrx_err_ofdma_length_illegal>
  47. <enum 6 phyrx_err_ofdma_restart>
  48. <enum 7 phyrx_err_ofdma_service>
  49. <enum 8 phyrx_err_ppdu_ofdma_power_drop>
  50. <enum 9 phyrx_err_cck_blokker>
  51. <enum 10 phyrx_err_cck_timing>
  52. <enum 11 phyrx_err_cck_header_crc>
  53. <enum 12 phyrx_err_cck_rate_illegal>
  54. <enum 13 phyrx_err_cck_length_illegal>
  55. <enum 14 phyrx_err_cck_restart>
  56. <enum 15 phyrx_err_cck_service>
  57. <enum 16 phyrx_err_cck_power_drop>
  58. <enum 17 phyrx_err_ht_crc_err>
  59. <enum 18 phyrx_err_ht_length_illegal>
  60. <enum 19 phyrx_err_ht_rate_illegal>
  61. <enum 20 phyrx_err_ht_zlf>
  62. <enum 21 phyrx_err_false_radar_ext>
  63. <enum 22 phyrx_err_green_field>
  64. <enum 23 phyrx_err_bw_gt_dyn_bw>
  65. <enum 24 phyrx_err_leg_ht_mismatch>
  66. <enum 25 phyrx_err_vht_crc_error>
  67. <enum 26 phyrx_err_vht_siga_unsupported>
  68. <enum 27 phyrx_err_vht_lsig_len_invalid>
  69. <enum 28 phyrx_err_vht_ndp_or_zlf>
  70. <enum 29 phyrx_err_vht_nsym_lt_zero>
  71. <enum 30 phyrx_err_vht_rx_extra_symbol_mismatch>
  72. <enum 31 phyrx_err_vht_rx_skip_group_id0>
  73. <enum 32 phyrx_err_vht_rx_skip_group_id1to62>
  74. <enum 33 phyrx_err_vht_rx_skip_group_id63>
  75. <enum 34 phyrx_err_ofdm_ldpc_decoder_disabled>
  76. <enum 35 phyrx_err_defer_nap>
  77. <enum 36 phyrx_err_fdomain_timeout>
  78. <enum 37 phyrx_err_lsig_rel_check>
  79. <enum 38 phyrx_err_bt_collision>
  80. <enum 39 phyrx_err_unsupported_mu_feedback>
  81. <enum 40 phyrx_err_ppdu_tx_interrupt_rx>
  82. <enum 41 phyrx_err_unsupported_cbf>
  83. <enum 42 phyrx_err_other> Should not really be used. If
  84. needed, ask for documentation update
  85. <enum 43 phyrx_err_he_siga_unsupported > <enum 44
  86. phyrx_err_he_crc_error > <enum 45
  87. phyrx_err_he_sigb_unsupported > <enum 46
  88. phyrx_err_he_mu_mode_unsupported > <enum 47
  89. phyrx_err_he_ndp_or_zlf > <enum 48 phyrx_err_he_nsym_lt_zero
  90. > <enum 49 phyrx_err_he_ru_params_unsupported > <enum 50
  91. phyrx_err_he_num_users_unsupported ><enum 51
  92. phyrx_err_he_sounding_params_unsupported >
  93. <enum 52 phyrx_err_MU_UL_no_power_detected>
  94. <legal 0 - 52>
  95. phy_enters_nap_state
  96. When set, PHY enters PHY NAP state after sending this
  97. abort
  98. Note that nap and defer state are mutually exclusive.
  99. Field put pro-actively in place....usage still to be
  100. agreed upon.
  101. <legal all>
  102. phy_enters_defer_state
  103. When set, PHY enters PHY defer state after sending this
  104. abort
  105. Note that nap and defer state are mutually exclusive.
  106. Field put pro-actively in place....usage still to be
  107. agreed upon.
  108. <legal all>
  109. reserved_0
  110. <legal 0>
  111. receive_duration
  112. The remaining receive duration of this PPDU in the
  113. medium (in us). When PHY does not know this duration when
  114. this TLV is generated, the field will be set to 0.
  115. The timing reference point is the reception by the MAC
  116. of this TLV. The value shall be accurate to within 2us.
  117. In case Phy_enters_nap_state and/or
  118. Phy_enters_defer_state is set, there is a possibility that
  119. MAC PMM can also decide to go into a low(er) power state.
  120. <legal all>
  121. */
  122. /* Description PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON
  123. <enum 0 phyrx_err_phy_off> Reception aborted due to
  124. receiving a PHY_OFF TLV
  125. <enum 1 phyrx_err_synth_off>
  126. <enum 2 phyrx_err_ofdma_timing>
  127. <enum 3 phyrx_err_ofdma_signal_parity>
  128. <enum 4 phyrx_err_ofdma_rate_illegal>
  129. <enum 5 phyrx_err_ofdma_length_illegal>
  130. <enum 6 phyrx_err_ofdma_restart>
  131. <enum 7 phyrx_err_ofdma_service>
  132. <enum 8 phyrx_err_ppdu_ofdma_power_drop>
  133. <enum 9 phyrx_err_cck_blokker>
  134. <enum 10 phyrx_err_cck_timing>
  135. <enum 11 phyrx_err_cck_header_crc>
  136. <enum 12 phyrx_err_cck_rate_illegal>
  137. <enum 13 phyrx_err_cck_length_illegal>
  138. <enum 14 phyrx_err_cck_restart>
  139. <enum 15 phyrx_err_cck_service>
  140. <enum 16 phyrx_err_cck_power_drop>
  141. <enum 17 phyrx_err_ht_crc_err>
  142. <enum 18 phyrx_err_ht_length_illegal>
  143. <enum 19 phyrx_err_ht_rate_illegal>
  144. <enum 20 phyrx_err_ht_zlf>
  145. <enum 21 phyrx_err_false_radar_ext>
  146. <enum 22 phyrx_err_green_field>
  147. <enum 23 phyrx_err_bw_gt_dyn_bw>
  148. <enum 24 phyrx_err_leg_ht_mismatch>
  149. <enum 25 phyrx_err_vht_crc_error>
  150. <enum 26 phyrx_err_vht_siga_unsupported>
  151. <enum 27 phyrx_err_vht_lsig_len_invalid>
  152. <enum 28 phyrx_err_vht_ndp_or_zlf>
  153. <enum 29 phyrx_err_vht_nsym_lt_zero>
  154. <enum 30 phyrx_err_vht_rx_extra_symbol_mismatch>
  155. <enum 31 phyrx_err_vht_rx_skip_group_id0>
  156. <enum 32 phyrx_err_vht_rx_skip_group_id1to62>
  157. <enum 33 phyrx_err_vht_rx_skip_group_id63>
  158. <enum 34 phyrx_err_ofdm_ldpc_decoder_disabled>
  159. <enum 35 phyrx_err_defer_nap>
  160. <enum 36 phyrx_err_fdomain_timeout>
  161. <enum 37 phyrx_err_lsig_rel_check>
  162. <enum 38 phyrx_err_bt_collision>
  163. <enum 39 phyrx_err_unsupported_mu_feedback>
  164. <enum 40 phyrx_err_ppdu_tx_interrupt_rx>
  165. <enum 41 phyrx_err_unsupported_cbf>
  166. <enum 42 phyrx_err_other> Should not really be used. If
  167. needed, ask for documentation update
  168. <enum 43 phyrx_err_he_siga_unsupported > <enum 44
  169. phyrx_err_he_crc_error > <enum 45
  170. phyrx_err_he_sigb_unsupported > <enum 46
  171. phyrx_err_he_mu_mode_unsupported > <enum 47
  172. phyrx_err_he_ndp_or_zlf > <enum 48 phyrx_err_he_nsym_lt_zero
  173. > <enum 49 phyrx_err_he_ru_params_unsupported > <enum 50
  174. phyrx_err_he_num_users_unsupported ><enum 51
  175. phyrx_err_he_sounding_params_unsupported >
  176. <enum 52 phyrx_err_MU_UL_no_power_detected>
  177. <legal 0 - 52>
  178. */
  179. #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_OFFSET 0x00000000
  180. #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_LSB 0
  181. #define PHYRX_ABORT_REQUEST_INFO_0_PHYRX_ABORT_REASON_MASK 0x000000ff
  182. /* Description PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_NAP_STATE
  183. When set, PHY enters PHY NAP state after sending this
  184. abort
  185. Note that nap and defer state are mutually exclusive.
  186. Field put pro-actively in place....usage still to be
  187. agreed upon.
  188. <legal all>
  189. */
  190. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_NAP_STATE_OFFSET 0x00000000
  191. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_NAP_STATE_LSB 8
  192. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_NAP_STATE_MASK 0x00000100
  193. /* Description PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_DEFER_STATE
  194. When set, PHY enters PHY defer state after sending this
  195. abort
  196. Note that nap and defer state are mutually exclusive.
  197. Field put pro-actively in place....usage still to be
  198. agreed upon.
  199. <legal all>
  200. */
  201. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_DEFER_STATE_OFFSET 0x00000000
  202. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_DEFER_STATE_LSB 9
  203. #define PHYRX_ABORT_REQUEST_INFO_0_PHY_ENTERS_DEFER_STATE_MASK 0x00000200
  204. /* Description PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0
  205. <legal 0>
  206. */
  207. #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_OFFSET 0x00000000
  208. #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_LSB 10
  209. #define PHYRX_ABORT_REQUEST_INFO_0_RESERVED_0_MASK 0x0000fc00
  210. /* Description PHYRX_ABORT_REQUEST_INFO_0_RECEIVE_DURATION
  211. The remaining receive duration of this PPDU in the
  212. medium (in us). When PHY does not know this duration when
  213. this TLV is generated, the field will be set to 0.
  214. The timing reference point is the reception by the MAC
  215. of this TLV. The value shall be accurate to within 2us.
  216. In case Phy_enters_nap_state and/or
  217. Phy_enters_defer_state is set, there is a possibility that
  218. MAC PMM can also decide to go into a low(er) power state.
  219. <legal all>
  220. */
  221. #define PHYRX_ABORT_REQUEST_INFO_0_RECEIVE_DURATION_OFFSET 0x00000000
  222. #define PHYRX_ABORT_REQUEST_INFO_0_RECEIVE_DURATION_LSB 16
  223. #define PHYRX_ABORT_REQUEST_INFO_0_RECEIVE_DURATION_MASK 0xffff0000
  224. #endif // _PHYRX_ABORT_REQUEST_INFO_H_