|
@@ -1001,9 +1001,14 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
|
|
struct wlan_mlme_he_caps *he_caps = &mlme_cfg->he_caps;
|
|
struct wlan_mlme_he_caps *he_caps = &mlme_cfg->he_caps;
|
|
|
|
|
|
he_caps->dot11_he_cap.htc_he = cfg_default(CFG_HE_CONTROL);
|
|
he_caps->dot11_he_cap.htc_he = cfg_default(CFG_HE_CONTROL);
|
|
- he_caps->dot11_he_cap.twt_request = cfg_get(psoc, CFG_HE_TWT_REQUESTOR);
|
|
|
|
|
|
+ he_caps->dot11_he_cap.twt_request =
|
|
|
|
+ cfg_get(psoc, CFG_TWT_REQUESTOR);
|
|
he_caps->dot11_he_cap.twt_responder =
|
|
he_caps->dot11_he_cap.twt_responder =
|
|
- cfg_get(psoc, CFG_HE_TWT_RESPONDER);
|
|
|
|
|
|
+ cfg_get(psoc, CFG_TWT_RESPONDER);
|
|
|
|
+ he_caps->dot11_he_cap.broadcast_twt = cfg_get(psoc, CFG_BCAST_TWT);
|
|
|
|
+ if (mlme_is_twt_enabled(psoc))
|
|
|
|
+ he_caps->dot11_he_cap.flex_twt_sched =
|
|
|
|
+ cfg_default(CFG_HE_FLEX_TWT_SCHED);
|
|
he_caps->dot11_he_cap.fragmentation =
|
|
he_caps->dot11_he_cap.fragmentation =
|
|
cfg_default(CFG_HE_FRAGMENTATION);
|
|
cfg_default(CFG_HE_FRAGMENTATION);
|
|
he_caps->dot11_he_cap.max_num_frag_msdu_amsdu_exp =
|
|
he_caps->dot11_he_cap.max_num_frag_msdu_amsdu_exp =
|
|
@@ -1019,7 +1024,6 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
|
|
he_caps->dot11_he_cap.trigd_rsp_sched =
|
|
he_caps->dot11_he_cap.trigd_rsp_sched =
|
|
cfg_default(CFG_HE_TRIGD_RSP_SCHEDULING);
|
|
cfg_default(CFG_HE_TRIGD_RSP_SCHEDULING);
|
|
he_caps->dot11_he_cap.a_bsr = cfg_default(CFG_HE_BUFFER_STATUS_RPT);
|
|
he_caps->dot11_he_cap.a_bsr = cfg_default(CFG_HE_BUFFER_STATUS_RPT);
|
|
- he_caps->dot11_he_cap.broadcast_twt = cfg_default(CFG_HE_BCAST_TWT);
|
|
|
|
he_caps->dot11_he_cap.ba_32bit_bitmap = cfg_default(CFG_HE_BA_32BIT);
|
|
he_caps->dot11_he_cap.ba_32bit_bitmap = cfg_default(CFG_HE_BA_32BIT);
|
|
he_caps->dot11_he_cap.mu_cascade = cfg_default(CFG_HE_MU_CASCADING);
|
|
he_caps->dot11_he_cap.mu_cascade = cfg_default(CFG_HE_MU_CASCADING);
|
|
he_caps->dot11_he_cap.ack_enabled_multitid =
|
|
he_caps->dot11_he_cap.ack_enabled_multitid =
|
|
@@ -1029,8 +1033,7 @@ static void mlme_init_he_cap_in_cfg(struct wlan_objmgr_psoc *psoc,
|
|
he_caps->dot11_he_cap.max_ampdu_len_exp_ext =
|
|
he_caps->dot11_he_cap.max_ampdu_len_exp_ext =
|
|
cfg_default(CFG_HE_MAX_AMPDU_LEN);
|
|
cfg_default(CFG_HE_MAX_AMPDU_LEN);
|
|
he_caps->dot11_he_cap.amsdu_frag = cfg_default(CFG_HE_AMSDU_FRAG);
|
|
he_caps->dot11_he_cap.amsdu_frag = cfg_default(CFG_HE_AMSDU_FRAG);
|
|
- he_caps->dot11_he_cap.flex_twt_sched =
|
|
|
|
- cfg_default(CFG_HE_FLEX_TWT_SCHED);
|
|
|
|
|
|
+
|
|
he_caps->dot11_he_cap.rx_ctrl_frame = cfg_default(CFG_HE_RX_CTRL);
|
|
he_caps->dot11_he_cap.rx_ctrl_frame = cfg_default(CFG_HE_RX_CTRL);
|
|
he_caps->dot11_he_cap.bsrp_ampdu_aggr =
|
|
he_caps->dot11_he_cap.bsrp_ampdu_aggr =
|
|
cfg_default(CFG_HE_BSRP_AMPDU_AGGR);
|
|
cfg_default(CFG_HE_BSRP_AMPDU_AGGR);
|
|
@@ -1195,10 +1198,7 @@ static void mlme_init_twt_cfg(struct wlan_objmgr_psoc *psoc,
|
|
{
|
|
{
|
|
uint32_t bcast_conf = cfg_get(psoc, CFG_BCAST_TWT_REQ_RESP);
|
|
uint32_t bcast_conf = cfg_get(psoc, CFG_BCAST_TWT_REQ_RESP);
|
|
|
|
|
|
- twt_cfg->is_twt_bcast_enabled = cfg_get(psoc, CFG_BCAST_TWT);
|
|
|
|
twt_cfg->is_twt_enabled = cfg_get(psoc, CFG_ENABLE_TWT);
|
|
twt_cfg->is_twt_enabled = cfg_get(psoc, CFG_ENABLE_TWT);
|
|
- twt_cfg->is_twt_responder_enabled = cfg_get(psoc, CFG_TWT_RESPONDER);
|
|
|
|
- twt_cfg->is_twt_requestor_enabled = cfg_get(psoc, CFG_TWT_REQUESTOR);
|
|
|
|
twt_cfg->twt_congestion_timeout = cfg_get(psoc, CFG_TWT_CONGESTION_TIMEOUT);
|
|
twt_cfg->twt_congestion_timeout = cfg_get(psoc, CFG_TWT_CONGESTION_TIMEOUT);
|
|
twt_cfg->is_bcast_requestor_enabled = CFG_TWT_GET_BCAST_REQ(bcast_conf);
|
|
twt_cfg->is_bcast_requestor_enabled = CFG_TWT_GET_BCAST_REQ(bcast_conf);
|
|
twt_cfg->is_bcast_responder_enabled = CFG_TWT_GET_BCAST_RES(bcast_conf);
|
|
twt_cfg->is_bcast_responder_enabled = CFG_TWT_GET_BCAST_RES(bcast_conf);
|
|
@@ -2328,13 +2328,13 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|
mlme_init_chainmask_cfg(psoc, &mlme_cfg->chainmask_cfg);
|
|
mlme_init_chainmask_cfg(psoc, &mlme_cfg->chainmask_cfg);
|
|
mlme_init_sap_cfg(psoc, &mlme_cfg->sap_cfg);
|
|
mlme_init_sap_cfg(psoc, &mlme_cfg->sap_cfg);
|
|
mlme_init_nss_chains(psoc, &mlme_cfg->nss_chains_ini_cfg);
|
|
mlme_init_nss_chains(psoc, &mlme_cfg->nss_chains_ini_cfg);
|
|
|
|
+ mlme_init_twt_cfg(psoc, &mlme_cfg->twt_cfg);
|
|
mlme_init_he_cap_in_cfg(psoc, mlme_cfg);
|
|
mlme_init_he_cap_in_cfg(psoc, mlme_cfg);
|
|
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
|
|
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
|
|
mlme_init_product_details_cfg(&mlme_cfg->product_details);
|
|
mlme_init_product_details_cfg(&mlme_cfg->product_details);
|
|
mlme_init_powersave_params(psoc, &mlme_cfg->ps_params);
|
|
mlme_init_powersave_params(psoc, &mlme_cfg->ps_params);
|
|
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
|
|
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
|
|
mlme_init_stats_cfg(psoc, &mlme_cfg->stats);
|
|
mlme_init_stats_cfg(psoc, &mlme_cfg->stats);
|
|
- mlme_init_twt_cfg(psoc, &mlme_cfg->twt_cfg);
|
|
|
|
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
|
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
|
mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
|
|
mlme_init_feature_flag_in_cfg(psoc, &mlme_cfg->feature_flags);
|
|
mlme_init_roam_scoring_cfg(psoc, &mlme_cfg->roam_scoring);
|
|
mlme_init_roam_scoring_cfg(psoc, &mlme_cfg->roam_scoring);
|