Răsfoiți Sursa

qcacld-3.0: Config support for punctured preamble Rx HE cap

Add configuration support for punctured preamble Rx HE capability.

Change-Id: Ia4df4b6d2ecc45df6392252e2e705cbeae413f24
CRs-Fixed: 3016538
Kiran Kumar Lokere 4 ani în urmă
părinte
comite
1cd5123e4a
2 a modificat fișierele cu 20 adăugiri și 0 ștergeri
  1. 13 0
      core/hdd/src/wlan_hdd_cfg80211.c
  2. 7 0
      core/sme/src/common/sme_api.c

+ 13 - 0
core/hdd/src/wlan_hdd_cfg80211.c

@@ -6998,6 +6998,8 @@ wlan_hdd_wifi_test_config_policy[
 			= {.type = NLA_U8},
 		[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BSS_MAX_IDLE_PERIOD] = {
 			.type = NLA_U16},
+		[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX] = {
+			.type = NLA_U8},
 		[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_DISASSOC_TX] = {
 			.type = NLA_FLAG},
 		[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FT_REASSOCREQ_RSNXE_USED] = {
@@ -10334,6 +10336,17 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
 					  (cfg_val ? true : false));
 	}
 
+	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX;
+	if (tb[cmd_id]) {
+		cfg_val = nla_get_u8(tb[cmd_id]);
+		hdd_debug("Configure Punctured preamble Rx %d", cfg_val);
+		ret_val = sme_update_he_capabilities(mac_handle,
+						     adapter->vdev_id,
+						     cfg_val, cmd_id);
+		if (ret_val)
+			sme_err("Failed to update HE cap");
+	}
+
 	cmd_id = QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_SET_HE_TESTBED_DEFAULTS;
 	if (tb[cmd_id]) {
 		hdd_disable_runtime_pm_for_user(hdd_ctx);

+ 7 - 0
core/sme/src/common/sme_api.c

@@ -10989,6 +10989,13 @@ int sme_update_he_capabilities(mac_handle_t mac_handle, uint8_t session_id,
 		else
 			cfg_he_cap->rx_ctrl_frame = 0;
 		break;
+	case QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_PUNCTURED_PREAMBLE_RX:
+		if (cfg_val)
+			cfg_he_cap->rx_pream_puncturing =
+				he_cap_orig->rx_pream_puncturing;
+		else
+			cfg_he_cap->rx_pream_puncturing = 0;
+		break;
 	default:
 		sme_debug("default: Unhandled cfg %d", cfg_id);
 		return -EINVAL;