hal_be_hw_headers.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. /*
  2. * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  4. *
  5. * Permission to use, copy, modify, and/or distribute this software for
  6. * any purpose with or without fee is hereby granted, provided that the
  7. * above copyright notice and this permission notice appear in all
  8. * copies.
  9. *
  10. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  11. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  12. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  13. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  14. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  15. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  16. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  17. * PERFORMANCE OF THIS SOFTWARE.
  18. */
  19. #ifndef _HAL_BE_HW_INTERNAL_H_
  20. #define _HAL_BE_HW_INTERNAL_H_
  21. #include "wcss_seq_hwioreg_umac.h"
  22. #include "phyrx_location.h"
  23. #include "receive_rssi_info.h"
  24. #include "buffer_addr_info.h"
  25. #include "wbm2sw_completion_ring_tx.h"
  26. #include "wbm2sw_completion_ring_rx.h"
  27. #if defined(QCA_WIFI_KIWI)
  28. #include "msmhwioreg.h"
  29. #endif
  30. #include "phyrx_common_user_info.h"
  31. /* TX MONITOR */
  32. #if defined(WLAN_PKT_CAPTURE_TX_2_0) || \
  33. defined(WLAN_PKT_CAPTURE_RX_2_0)
  34. #include "mon_buffer_addr.h"
  35. /* FES WINDOW OPEN */
  36. #include "tx_fes_setup.h"
  37. #include "rx_response_required_info.h"
  38. /* FES WINDOW CLOSE */
  39. #include "tx_fes_status_end.h"
  40. #include "response_end_status.h"
  41. /* WIFITX_FLUSH_E */
  42. #include "pcu_ppdu_setup_init.h"
  43. #include "tx_peer_entry.h"
  44. #include "tx_queue_extension.h"
  45. #include "tx_mpdu_start.h"
  46. #include "tx_msdu_start.h"
  47. /* WIFITX_DATA_E */
  48. #include "mon_buffer_addr.h"
  49. /* WIFITX_MPDU_END_E */
  50. /* WIFITX_MSDU_END_E */
  51. /* WIFITX_LAST_MPDU_FETCHED_E */
  52. /* WIFITX_LAST_MPDU_END_E */
  53. #include "coex_tx_req.h"
  54. #include "tx_raw_or_native_frame_setup.h"
  55. /* WIFINDP_PREAMBLE_DONE_E */
  56. /* WIFISCH_CRITICAL_TLV_REFERENCE_E */
  57. /* WIFITX_LOOPBACK_SETUP_E */
  58. /* WIFITX_FES_SETUP_COMPLETE_E */
  59. /* WIFITQM_MPDU_GLOBAL_START_E */
  60. /* WIFITX_WUR_DATA_E */
  61. /* WIFISCHEDULER_END_E */
  62. #include "pdg_tx_req.h"
  63. #include "tx_fes_status_start.h"
  64. #include "tx_fes_status_prot.h"
  65. #include "tx_fes_status_start_prot.h"
  66. /* WIFIPROT_TX_END_E */
  67. #include "tx_fes_status_start_ppdu.h"
  68. #include "tx_fes_status_user_ppdu.h"
  69. /* WIFIPPDU_TX_END_E */
  70. #include "tx_fes_status_user_response.h"
  71. #include "tx_fes_status_ack_or_ba.h"
  72. #include "tx_fes_status_1k_ba.h"
  73. #include "received_response_user_7_0.h"
  74. #include "received_response_user_15_8.h"
  75. #include "received_response_user_23_16.h"
  76. #include "received_response_user_31_24.h"
  77. #include "received_response_user_36_32.h"
  78. #include "txpcu_buffer_status.h"
  79. #include "txpcu_user_buffer_status.h"
  80. /* WIFITXDMA_STOP_REQUEST_E */
  81. #include "tx_cbf_info.h"
  82. /* WIFITX_MPDU_COUNT_TRANSFER_END_E */
  83. #include "pdg_response.h"
  84. /* WIFIPDG_TRIG_RESPONSE_E */
  85. #include "received_trigger_info.h"
  86. #include "ofdma_trigger_details.h"
  87. #include "rx_frame_bitmap_ack.h"
  88. #include "rx_frame_1k_bitmap_ack.h"
  89. #include "response_start_status.h"
  90. #include "rx_start_param.h"
  91. #include "rxpcu_early_rx_indication.h"
  92. /* WIFIRX_PM_INFO_E */
  93. #include "tx_flush_req.h"
  94. #include "coex_tx_status.h"
  95. /* WIFIR2R_STATUS_END_E */
  96. #include "rx_preamble.h"
  97. #include "mactx_u_sig_eht_su_mu.h"
  98. #include "mactx_u_sig_eht_tb.h"
  99. #include "mactx_eht_sig_usr_ofdma.h"
  100. #include "mactx_eht_sig_usr_mu_mimo.h"
  101. #include "mactx_eht_sig_usr_su.h"
  102. #include "mactx_he_sig_a_su.h"
  103. #include "mactx_he_sig_a_mu_dl.h"
  104. #include "mactx_he_sig_a_mu_ul.h"
  105. #include "mactx_he_sig_b1_mu.h"
  106. #include "mactx_he_sig_b2_mu.h"
  107. #include "mactx_he_sig_b2_ofdma.h"
  108. #include "mactx_l_sig_a.h"
  109. #include "mactx_l_sig_b.h"
  110. #include "mactx_ht_sig.h"
  111. #include "mactx_vht_sig_a.h"
  112. #include "mactx_vht_sig_b_mu160.h"
  113. #include "mactx_vht_sig_b_mu80.h"
  114. #include "mactx_vht_sig_b_mu40.h"
  115. #include "mactx_vht_sig_b_mu20.h"
  116. #include "mactx_vht_sig_b_su160.h"
  117. #include "mactx_vht_sig_b_su80.h"
  118. #include "mactx_vht_sig_b_su40.h"
  119. #include "mactx_vht_sig_b_su20.h"
  120. #include "phytx_ppdu_header_info_request.h"
  121. #include "mactx_user_desc_per_user.h"
  122. #include "mactx_user_desc_common.h"
  123. #include "mactx_phy_desc.h"
  124. #include "coex_rx_status.h"
  125. #include "rx_ppdu_ack_report.h"
  126. #include "rx_ppdu_no_ack_report.h"
  127. /* WIFITXPCU_PHYTX_OTHER_TRANSMIT_INFO32_E */
  128. /* WIFITXPCU_PHYTX_DEBUG32_E */
  129. /* WIFITXPCU_PREAMBLE_DONE_E */
  130. /* WIFIRX_PHY_SLEEP_E */
  131. #include "rx_frame_bitmap_req.h"
  132. /* WIFIRXPCU_TX_SETUP_CLEAR_E */
  133. #include "rx_trig_info.h"
  134. #include "expected_response.h"
  135. /* WIFITRIGGER_RESPONSE_TX_DONE_E */
  136. #endif /* WLAN_PKT_CAPTURE_TX_2_0 */
  137. #include <reo_descriptor_threshold_reached_status.h>
  138. #include <reo_flush_queue.h>
  139. #ifdef REO_SHARED_QREF_TABLE_EN
  140. #include "rx_reo_queue_reference.h"
  141. #endif
  142. #define HAL_DESC_64_SET_FIELD(_desc, _word, _fld, _value) do { \
  143. ((uint64_t *)(_desc))[(_word ## _ ## _fld ## _OFFSET) >> 3] &= \
  144. ~(_word ## _ ## _fld ## _MASK); \
  145. ((uint64_t *)(_desc))[(_word ## _ ## _fld ## _OFFSET) >> 3] |= \
  146. (((uint64_t)(_value)) << _word ## _ ## _fld ## _LSB); \
  147. } while (0)
  148. #endif /* _HAL_BE_HW_INTERNAL_H_ */