xref: /wlan-driver/qca-wifi-host-cmn/hal/wifi3.0/be/hal_be_hw_headers.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
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