qcacmn: Add support to delete AST on BE platforms

Add change to support deletion/cleanup of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I494f7beb572e81cf68cc1cf90864eea0d8125369
CRs-Fixed: 3237943
此提交包含在:
Santosh Anbu
2022-06-29 01:44:02 +05:30
提交者 Madan Koyyalamudi
父節點 d08af7b6f7
當前提交 82fd1e58e2

查看文件

@@ -1301,7 +1301,7 @@ void dp_peer_ast_hash_remove(struct dp_soc *soc,
struct dp_ast_entry *tmpase;
int found = 0;
if (soc->ast_offload_support)
if (soc->ast_offload_support && !soc->host_ast_db_enable)
return;
index = dp_peer_ast_hash_index(soc, &ase->mac_addr);
@@ -2433,7 +2433,7 @@ dp_peer_clean_wds_entries(struct dp_soc *soc, struct dp_peer *peer,
{
uint32_t wds_deleted = 0;
if (soc->ast_offload_support)
if (soc->ast_offload_support && !soc->host_ast_db_enable)
return;
wds_deleted = dp_peer_ast_free_wds_entries(soc, peer);
@@ -3157,8 +3157,14 @@ dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
struct dp_peer *peer;
struct dp_vdev *vdev = NULL;
if (soc->ast_offload_support && is_wds)
return;
/*
* If FW AST offload is enabled and host AST DB is enabled,
* the AST entries are created during peer map from FW.
*/
if (soc->ast_offload_support && is_wds) {
if (!soc->host_ast_db_enable)
return;
}
peer = __dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_HTT);