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