1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
4 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
11 struct list_head list
;
12 struct ieee80211_sta
*sta
;
20 /* protected by ab->data_lock */
21 struct ieee80211_key_conf
*keys
[WMI_MAX_KEY_INDEX
+ 1];
22 struct dp_rx_tid rx_tid
[IEEE80211_NUM_TIDS
+ 1];
24 /* peer id based rhashtable list pointer */
25 struct rhash_head rhash_id
;
26 /* peer addr based rhashtable list pointer */
27 struct rhash_head rhash_addr
;
29 /* Info used in MMIC verification of
32 struct crypto_shash
*tfm_mmic
;
41 void ath11k_peer_unmap_event(struct ath11k_base
*ab
, u16 peer_id
);
42 void ath11k_peer_map_event(struct ath11k_base
*ab
, u8 vdev_id
, u16 peer_id
,
43 u8
*mac_addr
, u16 ast_hash
, u16 hw_peer_id
);
44 struct ath11k_peer
*ath11k_peer_find(struct ath11k_base
*ab
, int vdev_id
,
46 struct ath11k_peer
*ath11k_peer_find_by_addr(struct ath11k_base
*ab
,
48 struct ath11k_peer
*ath11k_peer_find_by_id(struct ath11k_base
*ab
, int peer_id
);
49 void ath11k_peer_cleanup(struct ath11k
*ar
, u32 vdev_id
);
50 int ath11k_peer_delete(struct ath11k
*ar
, u32 vdev_id
, u8
*addr
);
51 int ath11k_peer_create(struct ath11k
*ar
, struct ath11k_vif
*arvif
,
52 struct ieee80211_sta
*sta
, struct peer_create_params
*param
);
53 int ath11k_wait_for_peer_delete_done(struct ath11k
*ar
, u32 vdev_id
,
55 struct ath11k_peer
*ath11k_peer_find_by_vdev_id(struct ath11k_base
*ab
,
57 int ath11k_peer_rhash_tbl_init(struct ath11k_base
*ab
);
58 void ath11k_peer_rhash_tbl_destroy(struct ath11k_base
*ab
);
59 int ath11k_peer_rhash_delete(struct ath11k_base
*ab
, struct ath11k_peer
*peer
);