18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause-Clear */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef ATH11K_DP_TX_H 78c2ecf20Sopenharmony_ci#define ATH11K_DP_TX_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include "core.h" 108c2ecf20Sopenharmony_ci#include "hal_tx.h" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cistruct ath11k_dp_htt_wbm_tx_status { 138c2ecf20Sopenharmony_ci u32 msdu_id; 148c2ecf20Sopenharmony_ci bool acked; 158c2ecf20Sopenharmony_ci int ack_rssi; 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciint ath11k_dp_tx_htt_h2t_ver_req_msg(struct ath11k_base *ab); 198c2ecf20Sopenharmony_ciint ath11k_dp_tx(struct ath11k *ar, struct ath11k_vif *arvif, 208c2ecf20Sopenharmony_ci struct sk_buff *skb); 218c2ecf20Sopenharmony_civoid ath11k_dp_tx_completion_handler(struct ath11k_base *ab, int ring_id); 228c2ecf20Sopenharmony_ciint ath11k_dp_tx_send_reo_cmd(struct ath11k_base *ab, struct dp_rx_tid *rx_tid, 238c2ecf20Sopenharmony_ci enum hal_reo_cmd_type type, 248c2ecf20Sopenharmony_ci struct ath11k_hal_reo_cmd *cmd, 258c2ecf20Sopenharmony_ci void (*func)(struct ath11k_dp *, void *, 268c2ecf20Sopenharmony_ci enum hal_reo_cmd_status)); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciint ath11k_dp_tx_htt_h2t_ppdu_stats_req(struct ath11k *ar, u32 mask); 298c2ecf20Sopenharmony_ciint 308c2ecf20Sopenharmony_ciath11k_dp_tx_htt_h2t_ext_stats_req(struct ath11k *ar, u8 type, 318c2ecf20Sopenharmony_ci struct htt_ext_stats_cfg_params *cfg_params, 328c2ecf20Sopenharmony_ci u64 cookie); 338c2ecf20Sopenharmony_ciint ath11k_dp_tx_htt_monitor_mode_ring_config(struct ath11k *ar, bool reset); 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciint ath11k_dp_tx_htt_rx_filter_setup(struct ath11k_base *ab, u32 ring_id, 368c2ecf20Sopenharmony_ci int mac_id, enum hal_ring_type ring_type, 378c2ecf20Sopenharmony_ci int rx_buf_size, 388c2ecf20Sopenharmony_ci struct htt_rx_ring_tlv_filter *tlv_filter); 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci#endif 41