tx_fes_status_start_ppdu.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. /* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
  2. *
  3. * Permission to use, copy, modify, and/or distribute this software for any
  4. * purpose with or without fee is hereby granted, provided that the above
  5. * copyright notice and this permission notice appear in all copies.
  6. *
  7. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  8. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  9. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  10. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  11. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  12. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  13. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  14. */
  15. #ifndef _TX_FES_STATUS_START_PPDU_H_
  16. #define _TX_FES_STATUS_START_PPDU_H_
  17. #if !defined(__ASSEMBLER__)
  18. #endif
  19. #define NUM_OF_DWORDS_TX_FES_STATUS_START_PPDU 4
  20. #define NUM_OF_QWORDS_TX_FES_STATUS_START_PPDU 2
  21. struct tx_fes_status_start_ppdu {
  22. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  23. uint32_t ppdu_timestamp_lower_32 : 32;
  24. uint32_t ppdu_timestamp_upper_32 : 32;
  25. uint32_t subband_mask : 16,
  26. ndp_frame : 2,
  27. reserved_2b : 2,
  28. coex_based_tx_bw : 3,
  29. coex_based_ant_mask : 8,
  30. reserved_2c : 1;
  31. uint32_t coex_based_tx_pwr_shared_ant : 8,
  32. coex_based_tx_pwr_ant : 8,
  33. concurrent_bt_tx : 1,
  34. concurrent_wlan_tx : 1,
  35. concurrent_wan_tx : 1,
  36. concurrent_wan_rx : 1,
  37. coex_pwr_reduction_bt : 1,
  38. coex_pwr_reduction_wlan : 1,
  39. coex_pwr_reduction_wan : 1,
  40. coex_result_alt_based : 1,
  41. request_packet_bw : 3,
  42. response_type : 5;
  43. #else
  44. uint32_t ppdu_timestamp_lower_32 : 32;
  45. uint32_t ppdu_timestamp_upper_32 : 32;
  46. uint32_t reserved_2c : 1,
  47. coex_based_ant_mask : 8,
  48. coex_based_tx_bw : 3,
  49. reserved_2b : 2,
  50. ndp_frame : 2,
  51. subband_mask : 16;
  52. uint32_t response_type : 5,
  53. request_packet_bw : 3,
  54. coex_result_alt_based : 1,
  55. coex_pwr_reduction_wan : 1,
  56. coex_pwr_reduction_wlan : 1,
  57. coex_pwr_reduction_bt : 1,
  58. concurrent_wan_rx : 1,
  59. concurrent_wan_tx : 1,
  60. concurrent_wlan_tx : 1,
  61. concurrent_bt_tx : 1,
  62. coex_based_tx_pwr_ant : 8,
  63. coex_based_tx_pwr_shared_ant : 8;
  64. #endif
  65. };
  66. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_OFFSET 0x0000000000000000
  67. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_LSB 0
  68. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MSB 31
  69. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MASK 0x00000000ffffffff
  70. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_OFFSET 0x0000000000000000
  71. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_LSB 32
  72. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MSB 63
  73. #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MASK 0xffffffff00000000
  74. #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_OFFSET 0x0000000000000008
  75. #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_LSB 0
  76. #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MSB 15
  77. #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MASK 0x000000000000ffff
  78. #define TX_FES_STATUS_START_PPDU_NDP_FRAME_OFFSET 0x0000000000000008
  79. #define TX_FES_STATUS_START_PPDU_NDP_FRAME_LSB 16
  80. #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MSB 17
  81. #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MASK 0x0000000000030000
  82. #define TX_FES_STATUS_START_PPDU_RESERVED_2B_OFFSET 0x0000000000000008
  83. #define TX_FES_STATUS_START_PPDU_RESERVED_2B_LSB 18
  84. #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MSB 19
  85. #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MASK 0x00000000000c0000
  86. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_OFFSET 0x0000000000000008
  87. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_LSB 20
  88. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MSB 22
  89. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MASK 0x0000000000700000
  90. #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_OFFSET 0x0000000000000008
  91. #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_LSB 23
  92. #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MSB 30
  93. #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MASK 0x000000007f800000
  94. #define TX_FES_STATUS_START_PPDU_RESERVED_2C_OFFSET 0x0000000000000008
  95. #define TX_FES_STATUS_START_PPDU_RESERVED_2C_LSB 31
  96. #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MSB 31
  97. #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MASK 0x0000000080000000
  98. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_OFFSET 0x0000000000000008
  99. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_LSB 32
  100. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MSB 39
  101. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MASK 0x000000ff00000000
  102. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_OFFSET 0x0000000000000008
  103. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_LSB 40
  104. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MSB 47
  105. #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MASK 0x0000ff0000000000
  106. #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_OFFSET 0x0000000000000008
  107. #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_LSB 48
  108. #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MSB 48
  109. #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MASK 0x0001000000000000
  110. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_OFFSET 0x0000000000000008
  111. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_LSB 49
  112. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MSB 49
  113. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MASK 0x0002000000000000
  114. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_OFFSET 0x0000000000000008
  115. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_LSB 50
  116. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MSB 50
  117. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MASK 0x0004000000000000
  118. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_OFFSET 0x0000000000000008
  119. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_LSB 51
  120. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MSB 51
  121. #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MASK 0x0008000000000000
  122. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_OFFSET 0x0000000000000008
  123. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_LSB 52
  124. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MSB 52
  125. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MASK 0x0010000000000000
  126. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_OFFSET 0x0000000000000008
  127. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_LSB 53
  128. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MSB 53
  129. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MASK 0x0020000000000000
  130. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_OFFSET 0x0000000000000008
  131. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_LSB 54
  132. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MSB 54
  133. #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MASK 0x0040000000000000
  134. #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_OFFSET 0x0000000000000008
  135. #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_LSB 55
  136. #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MSB 55
  137. #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MASK 0x0080000000000000
  138. #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_OFFSET 0x0000000000000008
  139. #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_LSB 56
  140. #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MSB 58
  141. #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MASK 0x0700000000000000
  142. #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_OFFSET 0x0000000000000008
  143. #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_LSB 59
  144. #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MSB 63
  145. #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MASK 0xf800000000000000
  146. #endif