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