qcacld-3.0: Support to configure FW for ER SU PPDU Tx

Add support to configure FW for ER SU PPDU data type
transmission.

Change-Id: I76b5cd1a27dc91ad714b6d6af52cd223fa26a780
CRs-Fixed: 3025624
This commit is contained in:
Kiran Kumar Lokere
2021-08-31 16:11:19 -07:00
committed by Madan Koyyalamudi
parent 8ed9ce1e6d
commit 5672ccaad7

View File

@@ -7101,6 +7101,8 @@ wlan_hdd_wifi_test_config_policy[
= {.type = NLA_U8}, = {.type = NLA_U8},
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BSS_MAX_IDLE_PERIOD] = { [QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BSS_MAX_IDLE_PERIOD] = {
.type = NLA_U16}, .type = NLA_U16},
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ER_SU_PPDU_TYPE] = {
.type = NLA_U8},
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX] = { [QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX] = {
.type = NLA_U8}, .type = NLA_U8},
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISASSOC_TX] = { [QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISASSOC_TX] = {
@@ -10608,6 +10610,54 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
cfg_val = nla_get_u8(tb[cmd_id]); cfg_val = nla_get_u8(tb[cmd_id]);
hdd_info("RU 242 tone Tx enable: %d", cfg_val); hdd_info("RU 242 tone Tx enable: %d", cfg_val);
sme_set_ru_242_tone_tx_cfg(hdd_ctx->mac_handle, cfg_val); sme_set_ru_242_tone_tx_cfg(hdd_ctx->mac_handle, cfg_val);
if (cfg_val)
hdd_update_channel_width(
adapter, eHT_CHANNEL_WIDTH_20MHZ,
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE);
}
cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ER_SU_PPDU_TYPE;
if (tb[cmd_id]) {
cfg_val = nla_get_u8(tb[cmd_id]);
hdd_debug("EU SU PPDU type Tx enable: %d", cfg_val);
if (cfg_val) {
hdd_update_channel_width(
adapter, eHT_CHANNEL_WIDTH_20MHZ,
WNI_CFG_CHANNEL_BONDING_MODE_DISABLE);
hdd_set_tx_stbc(adapter, 0);
hdd_set_11ax_rate(adapter, 0x400, NULL);
status = wma_cli_set_command(adapter->vdev_id,
WMI_VDEV_PARAM_HE_RANGE_EXT,
1, VDEV_CMD);
if (QDF_IS_STATUS_ERROR(status))
hdd_err("failed to set HE_RANGE_EXT, %d",
status);
status = wma_cli_set_command(adapter->vdev_id,
WMI_VDEV_PARAM_NON_DATA_HE_RANGE_EXT,
1, VDEV_CMD);
if (QDF_IS_STATUS_ERROR(status))
hdd_err("fail to set NON_DATA_HE_RANGE_EXT %d",
status);
} else {
hdd_update_channel_width(
adapter, eHT_CHANNEL_WIDTH_80MHZ,
WNI_CFG_CHANNEL_BONDING_MODE_ENABLE);
hdd_set_tx_stbc(adapter, 1);
hdd_set_11ax_rate(adapter, 0xFFFF, NULL);
status = wma_cli_set_command(adapter->vdev_id,
WMI_VDEV_PARAM_HE_RANGE_EXT,
0, VDEV_CMD);
if (QDF_IS_STATUS_ERROR(status))
hdd_err("failed to set HE_RANGE_EXT, %d",
status);
status = wma_cli_set_command(adapter->vdev_id,
WMI_VDEV_PARAM_NON_DATA_HE_RANGE_EXT,
0, VDEV_CMD);
if (QDF_IS_STATUS_ERROR(status))
hdd_err("fail to set NON_DATA_HE_RANGE_EXT %d",
status);
}
} }
cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FT_REASSOCREQ_RSNXE_USED; cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FT_REASSOCREQ_RSNXE_USED;