qcacmn: Enable wds changes in Beryllium
wds in Beryllium is managed by hardware. Make use of hardware managedwds and disable the corresponding wds handling done in host for Beryllium. Change-Id: I39f23cb40c6c5f85ada8ce59c92ff2855bb18da3
This commit is contained in:

committed by
Madan Koyyalamudi

parent
591f8bb3a1
commit
6b1d142d98
@@ -656,9 +656,14 @@ static int dp_peer_update_ast_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
int status = -1;
|
||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||
struct dp_ast_entry *ast_entry = NULL;
|
||||
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc_hdl,
|
||||
peer_mac, 0, vdev_id,
|
||||
DP_MOD_ID_CDP);
|
||||
struct dp_peer *peer;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return status;
|
||||
|
||||
peer = dp_peer_find_hash_find((struct dp_soc *)soc_hdl,
|
||||
peer_mac, 0, vdev_id,
|
||||
DP_MOD_ID_CDP);
|
||||
|
||||
if (!peer) {
|
||||
dp_peer_debug("Peer is NULL!");
|
||||
@@ -719,8 +724,12 @@ static QDF_STATUS dp_wds_reset_ast_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
struct dp_ast_entry *ast_entry = NULL;
|
||||
struct dp_peer *peer;
|
||||
struct dp_pdev *pdev;
|
||||
struct dp_vdev *vdev = dp_vdev_get_ref_by_id(soc, vdev_id,
|
||||
DP_MOD_ID_CDP);
|
||||
struct dp_vdev *vdev;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
vdev = dp_vdev_get_ref_by_id(soc, vdev_id, DP_MOD_ID_CDP);
|
||||
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
@@ -770,6 +779,9 @@ dp_wds_reset_ast_table_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
{
|
||||
struct dp_soc *soc = (struct dp_soc *) soc_hdl;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
|
||||
dp_soc_iterate_peer(soc, dp_peer_reset_ast_entries, NULL,
|
||||
@@ -846,6 +858,9 @@ static bool dp_peer_get_ast_info_by_soc_wifi3
|
||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||
struct dp_peer *peer = NULL;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return false;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
|
||||
ast_entry = dp_peer_ast_hash_find_soc(soc, ast_mac_addr);
|
||||
@@ -897,6 +912,9 @@ static bool dp_peer_get_ast_info_by_pdevid_wifi3
|
||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||
struct dp_peer *peer = NULL;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return false;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
|
||||
ast_entry = dp_peer_ast_hash_find_by_pdevid(soc, ast_mac_addr,
|
||||
@@ -951,6 +969,9 @@ static QDF_STATUS dp_peer_ast_entry_del_by_soc(struct cdp_soc_t *soc_handle,
|
||||
txrx_ast_free_cb cb = NULL;
|
||||
void *arg = NULL;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return -QDF_STATUS_E_INVAL;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
ast_entry = dp_peer_ast_hash_find_soc(soc, mac_addr);
|
||||
if (!ast_entry) {
|
||||
@@ -1011,6 +1032,9 @@ static QDF_STATUS dp_peer_ast_entry_del_by_pdev(struct cdp_soc_t *soc_handle,
|
||||
txrx_ast_free_cb cb = NULL;
|
||||
void *arg = NULL;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return -QDF_STATUS_E_INVAL;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
ast_entry = dp_peer_ast_hash_find_by_pdevid(soc, mac_addr, pdev_id);
|
||||
|
||||
@@ -5251,6 +5275,8 @@ static void dp_soc_deinit(void *txrx_soc)
|
||||
|
||||
/* free peer tables & AST tables allocated during peer_map_attach */
|
||||
if (soc->peer_map_attach_success) {
|
||||
if (soc->arch_ops.txrx_peer_detach)
|
||||
soc->arch_ops.txrx_peer_detach(soc);
|
||||
dp_peer_find_detach(soc);
|
||||
soc->peer_map_attach_success = FALSE;
|
||||
}
|
||||
@@ -6240,6 +6266,9 @@ static inline void dp_peer_ast_handle_roam_del(struct dp_soc *soc,
|
||||
{
|
||||
struct dp_ast_entry *ast_entry;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
if (soc->ast_override_support)
|
||||
ast_entry = dp_peer_ast_hash_find_by_pdevid(soc, peer_mac_addr,
|
||||
@@ -6701,6 +6730,9 @@ static QDF_STATUS dp_cp_peer_del_resp_handler(struct cdp_soc_t *soc_hdl,
|
||||
txrx_ast_free_cb cb = NULL;
|
||||
void *cookie;
|
||||
|
||||
if (soc->ast_offload_support)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
|
||||
ast_entry =
|
||||
@@ -10263,7 +10295,7 @@ dp_dump_rx_flow_tag_stats(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
|
||||
static QDF_STATUS dp_peer_map_attach_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
uint32_t max_peers,
|
||||
uint32_t max_ast_index,
|
||||
bool peer_map_unmap_v2)
|
||||
uint8_t peer_map_unmap_versions)
|
||||
{
|
||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||
|
||||
@@ -10276,7 +10308,15 @@ static QDF_STATUS dp_peer_map_attach_wifi3(struct cdp_soc_t *soc_hdl,
|
||||
if (dp_peer_find_attach(soc))
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
soc->is_peer_map_unmap_v2 = peer_map_unmap_v2;
|
||||
if (soc->arch_ops.txrx_peer_attach) {
|
||||
QDF_STATUS status;
|
||||
status = soc->arch_ops.txrx_peer_attach(soc);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
dp_peer_find_detach(soc);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
}
|
||||
soc->peer_map_unmap_versions = peer_map_unmap_versions;
|
||||
soc->peer_map_attach_success = TRUE;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
@@ -11862,6 +11902,7 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
|
||||
soc->cce_disable = false;
|
||||
soc->max_ast_ageout_count = MAX_AST_AGEOUT_COUNT;
|
||||
|
||||
soc->sta_mode_search_policy = DP_TX_ADDR_SEARCH_ADDR_POLICY;
|
||||
qdf_mem_zero(&soc->vdev_id_map, sizeof(soc->vdev_id_map));
|
||||
qdf_spinlock_create(&soc->vdev_map_lock);
|
||||
qdf_atomic_init(&soc->num_tx_outstanding);
|
||||
@@ -13082,6 +13123,7 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
|
||||
soc->per_tid_basize_max_tid = 8;
|
||||
soc->wbm_release_desc_rx_sg_support = 1;
|
||||
soc->rxdma2sw_rings_not_supported = 1;
|
||||
soc->ast_offload_support = AST_OFFLOAD_ENABLE_STATUS;
|
||||
|
||||
break;
|
||||
default:
|
||||
|
Reference in New Issue
Block a user