qcacld-3.0: Dynamic OTA test mode enable

For OEM to do OTA tests, power save, background scan, and low RSSI
scanning need to be disabled and it should be done dynamically.
Implement a vendor command to enable and disable OTA test mode.

CRs-fixed: 941776
Change-Id: Ic9da11cf5f4bb19a01d9b55c50c0aea196abbfb6
diff --git a/core/hdd/src/wlan_hdd_cfg80211.h b/core/hdd/src/wlan_hdd_cfg80211.h
index df5e5aa..3427540 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.h
+++ b/core/hdd/src/wlan_hdd_cfg80211.h
@@ -248,6 +248,7 @@
  * @QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES: get link properties
  * @QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN: venodr scan command
  * @QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE: vendor scan complete
+ * @QCA_NL80211_VENDOR_SUBCMD_OTA_TEST: enable OTA test
  */
 
 enum qca_nl80211_vendor_subcmds {
@@ -357,6 +358,10 @@
 	/* Vendor scan commands */
 	QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN = 106,
 	QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE = 107,
+
+	/* OTA test subcommand */
+	QCA_NL80211_VENDOR_SUBCMD_OTA_TEST = 108,
+
 };
 
 /**
@@ -2172,6 +2177,23 @@
 	DRV_DBS_CAPABILITY_2X2,
 };
 
+/**
+ * enum qca_vendor_attr_ota_test - Enable OTA test
+ * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID: invalid value
+ * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE: enable OTA test
+ * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST: after last
+ * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX: max
+ */
+enum qca_vendor_attr_ota_test {
+	QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID,
+	/* 8-bit unsigned value to indicate if OTA test is enabled */
+	QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE,
+	/* keep last */
+	QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST,
+	QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX =
+	QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST - 1
+};
+
 struct cfg80211_bss *wlan_hdd_cfg80211_update_bss_db(hdd_adapter_t *pAdapter,
 						tCsrRoamInfo *pRoamInfo);