xref: /linux/drivers/net/wireless/ath/ath12k/wifi7/hal_qcn9274.h (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1 /* SPDX-License-Identifier: BSD-3-Clause-Clear*/
2 /*
3  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
4  * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
5  */
6 
7 #ifndef ATH12K_HAL_QCN9274_H
8 #define ATH12K_HAL_QCN9274_H
9 
10 #include <linux/ieee80211.h>
11 #include <linux/etherdevice.h>
12 #include "../hal.h"
13 #include "hal_rx.h"
14 #include "hal.h"
15 
16 extern const struct hal_ops hal_qcn9274_ops;
17 extern const struct ath12k_hw_regs qcn9274_v1_regs;
18 extern const struct ath12k_hw_regs qcn9274_v2_regs;
19 extern const struct ath12k_hw_regs ipq5332_regs;
20 extern const struct ath12k_hal_tcl_to_wbm_rbm_map
21 ath12k_hal_tcl_to_wbm_rbm_map_qcn9274[DP_TCL_NUM_RING_MAX];
22 extern const struct ath12k_hw_hal_params ath12k_hw_hal_params_qcn9274;
23 extern const struct ath12k_hw_hal_params ath12k_hw_hal_params_ipq5332;
24 
25 u8 ath12k_hal_rx_desc_get_l3_pad_bytes_qcn9274(struct hal_rx_desc *desc);
26 void ath12k_hal_rx_desc_copy_end_tlv_qcn9274(struct hal_rx_desc *fdesc,
27 					     struct hal_rx_desc *ldesc);
28 u32 ath12k_hal_rx_desc_get_mpdu_ppdu_id_qcn9274(struct hal_rx_desc *desc);
29 void ath12k_hal_rx_desc_set_msdu_len_qcn9274(struct hal_rx_desc *desc, u16 len);
30 u8 *ath12k_hal_rx_desc_get_msdu_payload_qcn9274(struct hal_rx_desc *desc);
31 u32 ath12k_hal_rx_desc_get_mpdu_start_offset_qcn9274(void);
32 u32 ath12k_hal_rx_desc_get_msdu_end_offset_qcn9274(void);
33 u32 ath12k_hal_get_rx_desc_size_qcn9274(void);
34 u8 ath12k_hal_rx_desc_get_msdu_src_link_qcn9274(struct hal_rx_desc *desc);
35 u16 ath12k_hal_rx_mpdu_start_wmask_get_qcn9274(void);
36 u32 ath12k_hal_rx_msdu_end_wmask_get_qcn9274(void);
37 void ath12k_hal_rx_desc_get_crypto_hdr_qcn9274(struct hal_rx_desc *desc,
38 					       u8 *crypto_hdr,
39 					       enum hal_encrypt_type enctype);
40 void ath12k_hal_rx_desc_get_dot11_hdr_qcn9274(struct hal_rx_desc *desc,
41 					      struct ieee80211_hdr *hdr);
42 void ath12k_hal_extract_rx_desc_data_qcn9274(struct hal_rx_desc_data *rx_desc_data,
43 					     struct hal_rx_desc *rx_desc,
44 					     struct hal_rx_desc *ldesc);
45 #endif
46