qcacld-3.0: Configuration support for HE OM UL MU data disable

Add support to configure HE OM control UL MU data disable bit.

Change-Id: I62a3b33a2a08a7510ed9aafeb6da2842fe7ef09e
CRs-Fixed: 2386309
This commit is contained in:
Kiran Kumar Lokere 2019-02-06 17:00:48 -08:00 • committed by nshrivas
commit 49e3aff542
3 changed files with 18 additions and 0 deletions

View file

@ -5303,6 +5303,7 @@ qca_wlan_vendor_attr_he_omi_tx_policy [QCA_WLAN_VENDOR_ATTR_HE_OMI_MAX + 1] = {
[QCA_WLAN_VENDOR_ATTR_HE_OMI_CH_BW] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DISABLE] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_HE_OMI_TX_NSTS] = {.type = NLA_U8 },
[QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DATA_DISABLE] = {.type = NLA_U8 },
};
static const struct nla_policy
@ -7100,6 +7101,16 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
adapter->vdev_id,
cmd_id, cfg_val);
}
cmd_id = QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DATA_DISABLE;
if (tb2[cmd_id]) {
cfg_val = nla_get_u8(tb2[cmd_id]);
ret_val = sme_set_he_om_ctrl_param(
hdd_ctx->mac_handle,
adapter->vdev_id,
cmd_id, cfg_val);
}
}
if (ret_val) {
sme_reset_he_om_ctrl(hdd_ctx->mac_handle);

View file

@ -820,6 +820,7 @@ struct mac_context {
bool he_om_ctrl_cfg_ul_mu_dis;
bool he_om_ctrl_cfg_tx_nsts_set;
uint8_t he_om_ctrl_cfg_tx_nsts;
bool he_om_ctrl_ul_mu_data_dis;
#ifdef WLAN_FEATURE_11AX
tDot11fIEhe_cap he_cap_2g;
tDot11fIEhe_cap he_cap_5g;

View file

@ -11461,6 +11461,7 @@ int sme_send_he_om_ctrl_update(mac_handle_t mac_handle, uint8_t session_id)
omi_data.ch_bw = session->connectedProfile.vht_channel_width;
omi_data.ul_mu_dis = mac_ctx->he_om_ctrl_cfg_ul_mu_dis;
omi_data.ul_mu_data_dis = mac_ctx->he_om_ctrl_ul_mu_data_dis;
omi_data.omi_in_vht = 0x1;
omi_data.omi_in_he = 0x1;
@ -11536,6 +11537,10 @@ int sme_set_he_om_ctrl_param(mac_handle_t mac_handle, uint8_t session_id,
mac_ctx->he_om_ctrl_cfg_tx_nsts_set = true;
mac_ctx->he_om_ctrl_cfg_tx_nsts = cfg_val;
break;
case QCA_WLAN_VENDOR_ATTR_HE_OMI_ULMU_DATA_DISABLE:
sme_debug("Set OM ctrl UL MU data dis to %d", cfg_val);
mac_ctx->he_om_ctrl_ul_mu_data_dis = cfg_val;
break;
default:
sme_debug("Invalid OMI param %d", param);
return -EINVAL;
@ -11555,6 +11560,7 @@ void sme_reset_he_om_ctrl(mac_handle_t mac_handle)
mac_ctx->he_om_ctrl_cfg_ul_mu_dis = false;
mac_ctx->he_om_ctrl_cfg_tx_nsts_set = false;
mac_ctx->he_om_ctrl_cfg_tx_nsts = 0;
mac_ctx->he_om_ctrl_ul_mu_data_dis = false;
}
int sme_config_action_tx_in_tb_ppdu(mac_handle_t mac_handle, uint8_t session_id,