1*5c1def83SBjoern A. Zeeb /* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2*5c1def83SBjoern A. Zeeb /* 3*5c1def83SBjoern A. Zeeb * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. 4*5c1def83SBjoern A. Zeeb * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. 5*5c1def83SBjoern A. Zeeb */ 6*5c1def83SBjoern A. Zeeb 7*5c1def83SBjoern A. Zeeb #ifndef ATH12K_DP_TX_H 8*5c1def83SBjoern A. Zeeb #define ATH12K_DP_TX_H 9*5c1def83SBjoern A. Zeeb 10*5c1def83SBjoern A. Zeeb #include "core.h" 11*5c1def83SBjoern A. Zeeb #include "hal_tx.h" 12*5c1def83SBjoern A. Zeeb 13*5c1def83SBjoern A. Zeeb struct ath12k_dp_htt_wbm_tx_status { 14*5c1def83SBjoern A. Zeeb bool acked; 15*5c1def83SBjoern A. Zeeb int ack_rssi; 16*5c1def83SBjoern A. Zeeb }; 17*5c1def83SBjoern A. Zeeb 18*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_h2t_ver_req_msg(struct ath12k_base *ab); 19*5c1def83SBjoern A. Zeeb int ath12k_dp_tx(struct ath12k *ar, struct ath12k_vif *arvif, 20*5c1def83SBjoern A. Zeeb struct sk_buff *skb); 21*5c1def83SBjoern A. Zeeb void ath12k_dp_tx_completion_handler(struct ath12k_base *ab, int ring_id); 22*5c1def83SBjoern A. Zeeb 23*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_h2t_ppdu_stats_req(struct ath12k *ar, u32 mask); 24*5c1def83SBjoern A. Zeeb int 25*5c1def83SBjoern A. Zeeb ath12k_dp_tx_htt_h2t_ext_stats_req(struct ath12k *ar, u8 type, 26*5c1def83SBjoern A. Zeeb struct htt_ext_stats_cfg_params *cfg_params, 27*5c1def83SBjoern A. Zeeb u64 cookie); 28*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_rx_monitor_mode_ring_config(struct ath12k *ar, bool reset); 29*5c1def83SBjoern A. Zeeb 30*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_rx_filter_setup(struct ath12k_base *ab, u32 ring_id, 31*5c1def83SBjoern A. Zeeb int mac_id, enum hal_ring_type ring_type, 32*5c1def83SBjoern A. Zeeb int rx_buf_size, 33*5c1def83SBjoern A. Zeeb struct htt_rx_ring_tlv_filter *tlv_filter); 34*5c1def83SBjoern A. Zeeb void ath12k_dp_tx_put_bank_profile(struct ath12k_dp *dp, u8 bank_id); 35*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_tx_filter_setup(struct ath12k_base *ab, u32 ring_id, 36*5c1def83SBjoern A. Zeeb int mac_id, enum hal_ring_type ring_type, 37*5c1def83SBjoern A. Zeeb int tx_buf_size, 38*5c1def83SBjoern A. Zeeb struct htt_tx_ring_tlv_filter *htt_tlv_filter); 39*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_tx_monitor_mode_ring_config(struct ath12k *ar, bool reset); 40*5c1def83SBjoern A. Zeeb int ath12k_dp_tx_htt_monitor_mode_ring_config(struct ath12k *ar, bool reset); 41*5c1def83SBjoern A. Zeeb #endif 42