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