diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index 2d2d3daa3fba..5c1d0271999a 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -1111,8 +1111,6 @@ struct cdp_ocb_ops { * @remove_peers_for_vdev_no_lock: * @copy_mac_addr_raw: * @add_last_real_peer: - * @get_last_mgmt_timestamp: - * @set_last_mgmt_timestamp: * @is_vdev_restore_last_peer: * @update_last_real_peer: */ @@ -1160,14 +1158,6 @@ struct cdp_peer_ops { void (*update_last_real_peer)(struct cdp_pdev *pdev, void *peer, uint8_t *peer_id, bool restore_last_peer); void (*peer_detach_force_delete)(void *peer); - bool (*get_last_mgmt_timestamp)(struct cdp_pdev *ppdev, - u8 *peer_addr, - u8 subtype, - qdf_time_t *timestamp); - bool (*update_last_mgmt_timestamp)(struct cdp_pdev *ppdev, - u8 *peer_addr, - qdf_time_t timestamp, - u8 subtype); }; /** diff --git a/dp/inc/cdp_txrx_peer_ops.h b/dp/inc/cdp_txrx_peer_ops.h index fdcc45898d3a..2aba672122d6 100644 --- a/dp/inc/cdp_txrx_peer_ops.h +++ b/dp/inc/cdp_txrx_peer_ops.h @@ -567,68 +567,6 @@ cdp_peer_add_last_real_peer(ol_txrx_soc_handle soc, return; } -/** - * cdp_peer_get_last_mgmt_timestamp() - retrieve last timestamp for peer - * @soc - data path soc handle - * @pdev - data path device instance - * @peer_addr - peer mac addr - * @subtype - Management frame subtype - * - * Return: true/false - */ -static inline bool -cdp_peer_get_last_mgmt_timestamp(ol_txrx_soc_handle soc, - struct cdp_pdev *pdev, - u8 *peer_addr, - u8 subtype, - qdf_time_t *timestamp) -{ - if (!soc || !soc->ops || !soc->ops->peer_ops) { - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, - "%s invalid instance", __func__); - return 0; - } - - if (soc->ops->peer_ops->get_last_mgmt_timestamp) { - return soc->ops->peer_ops-> - get_last_mgmt_timestamp(pdev, peer_addr, - subtype, timestamp); - } - - return false; -} - -/** - * cdp_peer_update_last_mgmt_timestamp() - update timestamp for the peer - * @soc - data path soc handle - * @pdev - data path device instance - * @peer_addr - peer mac addr - * @subtype - Management frame subtype - * - * Return: true/false - */ -static inline bool -cdp_peer_update_last_mgmt_timestamp(ol_txrx_soc_handle soc, - struct cdp_pdev *pdev, - u8 *peer_addr, - qdf_time_t timestamp, - u8 subtype) -{ - if (!soc || !soc->ops || !soc->ops->peer_ops) { - QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, - "%s invalid instance", __func__); - return false; - } - - if (soc->ops->peer_ops->update_last_mgmt_timestamp) { - return soc->ops->peer_ops-> - update_last_mgmt_timestamp(pdev, peer_addr, - timestamp, subtype); - } - - return false; -} - /** * cdp_peer_is_vdev_restore_last_peer() - restore last peer * @soc - data path soc handle diff --git a/dp/wifi3.0/dp_internal.h b/dp/wifi3.0/dp_internal.h index f5b6c678bc4a..a151b3cf0db7 100644 --- a/dp/wifi3.0/dp_internal.h +++ b/dp/wifi3.0/dp_internal.h @@ -625,10 +625,6 @@ int dp_get_peer_state(void *peer_handle); void dp_local_peer_id_pool_init(struct dp_pdev *pdev); void dp_local_peer_id_alloc(struct dp_pdev *pdev, struct dp_peer *peer); void dp_local_peer_id_free(struct dp_pdev *pdev, struct dp_peer *peer); -bool dp_get_last_mgmt_timestamp(struct cdp_pdev *ppdev, u8 *peer_addr, - u8 subtype, qdf_time_t *timestamp); -bool dp_update_last_mgmt_timestamp(struct cdp_pdev *ppdev, u8 *peer_addr, - qdf_time_t timestamp, u8 subtype); #else static inline void dp_local_peer_id_pool_init(struct dp_pdev *pdev) { diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index e0b72c91ef70..d3db055afa7a 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -7949,8 +7949,6 @@ static struct cdp_peer_ops dp_ops_peer = { .peer_get_peer_mac_addr = dp_peer_get_peer_mac_addr, .get_vdev_for_peer = dp_get_vdev_for_peer, .get_peer_state = dp_get_peer_state, - .get_last_mgmt_timestamp = dp_get_last_mgmt_timestamp, - .update_last_mgmt_timestamp = dp_update_last_mgmt_timestamp, }; #endif diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index a583116028be..54e0d00ba7b1 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -2354,128 +2354,6 @@ int dp_get_peer_state(void *peer_handle) return peer->state; } -/** - * dp_get_last_mgmt_timestamp() - get timestamp of last mgmt frame - * @pdev: pdev handle - * @ppeer_addr: peer mac addr - * @subtype: management frame type - * @timestamp: last timestamp - * - * Return: true if timestamp is retrieved for valid peer else false - */ -bool dp_get_last_mgmt_timestamp(struct cdp_pdev *ppdev, u8 *peer_addr, - u8 subtype, qdf_time_t *timestamp) -{ - union dp_align_mac_addr local_mac_addr_aligned, *mac_addr; - unsigned int index; - struct dp_peer *peer; - struct dp_soc *soc; - - bool ret = false; - struct dp_pdev *pdev = (struct dp_pdev *)ppdev; - - soc = pdev->soc; - qdf_mem_copy( - &local_mac_addr_aligned.raw[0], - peer_addr, DP_MAC_ADDR_LEN); - mac_addr = &local_mac_addr_aligned; - - index = dp_peer_find_hash_index(soc, mac_addr); - - qdf_spin_lock_bh(&soc->peer_ref_mutex); - TAILQ_FOREACH(peer, &soc->peer_hash.bins[index], hash_list_elem) { -#if ATH_SUPPORT_WRAP - /* ProxySTA may have multiple BSS peer with same MAC address, - * modified find will take care of finding the correct BSS peer. - */ - if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0 && - (peer->vdev->vdev_id == DP_VDEV_ALL)) { -#else - if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0) { -#endif - /* found it */ - switch (subtype) { - case IEEE80211_FC0_SUBTYPE_ASSOC_REQ: - *timestamp = peer->last_assoc_rcvd; - ret = true; - break; - case IEEE80211_FC0_SUBTYPE_DISASSOC: - case IEEE80211_FC0_SUBTYPE_DEAUTH: - *timestamp = peer->last_disassoc_rcvd; - ret = true; - break; - default: - break; - } - qdf_spin_unlock_bh(&soc->peer_ref_mutex); - return ret; - } - } - qdf_spin_unlock_bh(&soc->peer_ref_mutex); - return false; /*failure*/ -} - -/** - * dp_update_last_mgmt_timestamp() - set timestamp of last mgmt frame - * @pdev: pdev handle - * @ppeer_addr: peer mac addr - * @timestamp: time to be set - * @subtype: management frame type - * - * Return: true if timestamp is updated for valid peer else false - */ - -bool dp_update_last_mgmt_timestamp(struct cdp_pdev *ppdev, u8 *peer_addr, - qdf_time_t timestamp, u8 subtype) -{ - union dp_align_mac_addr local_mac_addr_aligned, *mac_addr; - unsigned int index; - struct dp_peer *peer; - struct dp_soc *soc; - - bool ret = false; - struct dp_pdev *pdev = (struct dp_pdev *)ppdev; - - soc = pdev->soc; - qdf_mem_copy(&local_mac_addr_aligned.raw[0], - peer_addr, DP_MAC_ADDR_LEN); - mac_addr = &local_mac_addr_aligned; - - index = dp_peer_find_hash_index(soc, mac_addr); - - qdf_spin_lock_bh(&soc->peer_ref_mutex); - TAILQ_FOREACH(peer, &soc->peer_hash.bins[index], hash_list_elem) { -#if ATH_SUPPORT_WRAP - /* ProxySTA may have multiple BSS peer with same MAC address, - * modified find will take care of finding the correct BSS peer. - */ - if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0 && - (peer->vdev->vdev_id == DP_VDEV_ALL)) { -#else - if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0) { -#endif - /* found it */ - switch (subtype) { - case IEEE80211_FC0_SUBTYPE_ASSOC_REQ: - peer->last_assoc_rcvd = timestamp; - ret = true; - break; - case IEEE80211_FC0_SUBTYPE_DISASSOC: - case IEEE80211_FC0_SUBTYPE_DEAUTH: - peer->last_disassoc_rcvd = timestamp; - ret = true; - break; - default: - break; - } - qdf_spin_unlock_bh(&soc->peer_ref_mutex); - return ret; - } - } - qdf_spin_unlock_bh(&soc->peer_ref_mutex); - return false; /*failure*/ -} - /** * dp_local_peer_id_pool_init() - local peer id pool alloc for physical device * @pdev - data path device instance