xref: /wlan-dirver/qca-wifi-host-cmn/hal/wifi3.0/be/hal_be_hw_headers.h (revision 2f4b444fb7e689b83a4ab0e7b3b38f0bf4def8e0)
1 /*
2  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _HAL_BE_HW_INTERNAL_H_
20 #define _HAL_BE_HW_INTERNAL_H_
21 
22 #include "hal_hw_headers.h"
23 #include "wcss_seq_hwioreg_umac.h"
24 #include "phyrx_location.h"
25 #include "receive_rssi_info.h"
26 #include "buffer_addr_info.h"
27 
28 #include "wbm2sw_completion_ring_tx.h"
29 #include "wbm2sw_completion_ring_rx.h"
30 
31 #if defined(QCA_WIFI_WCN7850)
32 #include "msmhwioreg.h"
33 #endif
34 #include <reo_descriptor_threshold_reached_status.h>
35 #include <reo_flush_queue.h>
36 
37 #define HAL_DESC_64_SET_FIELD(_desc, _word, _fld, _value) do { \
38 	((uint64_t *)(_desc))[(_word ## _ ## _fld ## _OFFSET) >> 3] &= \
39 		~(_word ## _ ## _fld ## _MASK); \
40 	((uint64_t *)(_desc))[(_word ## _ ## _fld ## _OFFSET) >> 3] |= \
41 		(((uint64_t)(_value)) << _word ## _ ## _fld ## _LSB); \
42 } while (0)
43 
44 #endif /* _HAL_BE_HW_INTERNAL_H_ */
45