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_PEER_H 8 #define ATH12K_PEER_H 9 10 #include "dp_peer.h" 11 12 void ath12k_peer_cleanup(struct ath12k *ar, u32 vdev_id); 13 int ath12k_peer_delete(struct ath12k *ar, u32 vdev_id, u8 *addr); 14 int ath12k_peer_create(struct ath12k *ar, struct ath12k_link_vif *arvif, 15 struct ieee80211_sta *sta, 16 struct ath12k_wmi_peer_create_arg *arg); 17 int ath12k_wait_for_peer_delete_done(struct ath12k *ar, u32 vdev_id, 18 const u8 *addr); 19 int ath12k_peer_mlo_link_peers_delete(struct ath12k_vif *ahvif, struct ath12k_sta *ahsta); 20 struct ath12k_ml_peer *ath12k_peer_ml_find(struct ath12k_hw *ah, 21 const u8 *addr); 22 int ath12k_link_sta_rhash_tbl_init(struct ath12k_base *ab); 23 void ath12k_link_sta_rhash_tbl_destroy(struct ath12k_base *ab); 24 void ath12k_link_sta_rhash_delete(struct ath12k_base *ab, struct ath12k_link_sta *arsta); 25 int ath12k_link_sta_rhash_add(struct ath12k_base *ab, struct ath12k_link_sta *arsta); 26 struct ath12k_link_sta *ath12k_link_sta_find_by_addr(struct ath12k_base *ab, 27 const u8 *addr); 28 u16 ath12k_peer_ml_alloc(struct ath12k_hw *ah); 29 #endif /* _PEER_H_ */ 30