1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */ 2 /* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021, 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. 5 */ 6 7 #ifndef ATH11K_DP_TX_H 8 #define ATH11K_DP_TX_H 9 10 #include "core.h" 11 #include "hal_tx.h" 12 13 struct ath11k_dp_htt_wbm_tx_status { 14 u32 msdu_id; 15 bool acked; 16 s8 ack_rssi; 17 u16 peer_id; 18 }; 19 20 void ath11k_dp_tx_update_txcompl(struct ath11k *ar, struct hal_tx_status *ts); 21 int ath11k_dp_tx_htt_h2t_ver_req_msg(struct ath11k_base *ab); 22 int ath11k_dp_tx(struct ath11k *ar, struct ath11k_vif *arvif, 23 struct ath11k_sta *arsta, struct sk_buff *skb); 24 void ath11k_dp_tx_completion_handler(struct ath11k_base *ab, int ring_id); 25 int ath11k_dp_tx_send_reo_cmd(struct ath11k_base *ab, struct dp_rx_tid *rx_tid, 26 enum hal_reo_cmd_type type, 27 struct ath11k_hal_reo_cmd *cmd, 28 void (*func)(struct ath11k_dp *, void *, 29 enum hal_reo_cmd_status)); 30 31 int ath11k_dp_tx_htt_h2t_ppdu_stats_req(struct ath11k *ar, u32 mask); 32 int 33 ath11k_dp_tx_htt_h2t_ext_stats_req(struct ath11k *ar, u8 type, 34 struct htt_ext_stats_cfg_params *cfg_params, 35 u64 cookie); 36 int ath11k_dp_tx_htt_monitor_mode_ring_config(struct ath11k *ar, bool reset); 37 38 int ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id, 39 int mac_id, enum hal_ring_type ring_type, 40 int rx_buf_size, 41 struct htt_rx_ring_tlv_filter *tlv_filter); 42 43 int ath11k_dp_tx_htt_rx_full_mon_setup(struct ath11k_base *ab, int mac_id, 44 bool config); 45 #endif 46