xref: /linux/drivers/net/wireless/ath/ath12k/wifi7/hal_wcn7850.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_WCN7850_H
8 #define ATH12K_HAL_WCN7850_H
9 
10 #include "../hal.h"
11 #include "hal_rx.h"
12 #include "hal.h"
13 
14 extern const struct hal_ops hal_wcn7850_ops;
15 extern const struct ath12k_hw_regs wcn7850_regs;
16 extern const struct ath12k_hal_tcl_to_wbm_rbm_map
17 ath12k_hal_tcl_to_wbm_rbm_map_wcn7850[DP_TCL_NUM_RING_MAX];
18 extern const struct ath12k_hw_hal_params ath12k_hw_hal_params_wcn7850;
19 
20 u8 ath12k_hal_rx_desc_get_l3_pad_bytes_wcn7850(struct hal_rx_desc *desc);
21 void ath12k_hal_rx_desc_copy_end_tlv_wcn7850(struct hal_rx_desc *fdesc,
22 					     struct hal_rx_desc *ldesc);
23 u32 ath12k_hal_rx_desc_get_mpdu_start_tag_wcn7850(struct hal_rx_desc *desc);
24 u32 ath12k_hal_rx_desc_get_mpdu_ppdu_id_wcn7850(struct hal_rx_desc *desc);
25 void ath12k_hal_rx_desc_set_msdu_len_wcn7850(struct hal_rx_desc *desc, u16 len);
26 u8 *ath12k_hal_rx_desc_get_msdu_payload_wcn7850(struct hal_rx_desc *desc);
27 u32 ath12k_hal_rx_desc_get_mpdu_start_offset_wcn7850(void);
28 u32 ath12k_hal_rx_desc_get_msdu_end_offset_wcn7850(void);
29 u32 ath12k_hal_get_rx_desc_size_wcn7850(void);
30 u8 ath12k_hal_rx_desc_get_msdu_src_link_wcn7850(struct hal_rx_desc *desc);
31 void ath12k_hal_rx_desc_get_crypto_hdr_wcn7850(struct hal_rx_desc *desc,
32 					       u8 *crypto_hdr,
33 					       enum hal_encrypt_type enctype);
34 void ath12k_hal_rx_desc_get_dot11_hdr_wcn7850(struct hal_rx_desc *desc,
35 					      struct ieee80211_hdr *hdr);
36 void ath12k_hal_extract_rx_desc_data_wcn7850(struct hal_rx_desc_data *rx_desc_data,
37 					     struct hal_rx_desc *rx_desc,
38 					     struct hal_rx_desc *ldesc);
39 int ath12k_hal_srng_create_config_wcn7850(struct ath12k_hal *hal);
40 #endif
41