qcacld-3.0: Add new vendor command to get link properties
qcacld-2.0 to qcacld-3.0 propagation
Add support in driver for a new vendor command to get
the link properties nss, rate flags and operating
frequency.
Change-Id: Ie3b8d5b2c3886055d303441c5d8b2f2a0a2719bd
CRs-Fixed: 834199
diff --git a/core/hdd/src/wlan_hdd_cfg80211.h b/core/hdd/src/wlan_hdd_cfg80211.h
index 28fc309..df5e5aa 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.h
+++ b/core/hdd/src/wlan_hdd_cfg80211.h
@@ -245,6 +245,7 @@
* @QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION: set wifi config
* @QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION: get wifi config
* @QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET: get logging features
+ * @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
*/
@@ -346,6 +347,9 @@
QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL = 99,
QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT = 100,
+ /* subcommand to get link properties */
+ QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES = 101,
+
/* DBS subcommands */
QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST = 103,
QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL = 104,
@@ -604,6 +608,8 @@
* @QCA_WLAN_VENDOR_ATTR_STATS_EXT: Ext stats attribute which is used by
* QCA_NL80211_VENDOR_SUBCMD_STATS_EXT
* @QCA_WLAN_VENDOR_ATTR_IFINDEX: After IFINDEX
+ * @QCA_WLAN_VENDOR_ATTR_MAC_ADDR: MAC Address attribute which is used by
+ * QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES
* @QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS: Supported Features
* @QCA_WLAN_VENDOR_ATTR_AFTER_LAST: After last
* @QCA_WLAN_VENDOR_ATTR_MAX: Max value
@@ -614,6 +620,7 @@
QCA_WLAN_VENDOR_ATTR_NAN = 2,
QCA_WLAN_VENDOR_ATTR_STATS_EXT = 3,
QCA_WLAN_VENDOR_ATTR_IFINDEX = 4,
+ QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6,
QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS = 7,
QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA = 9,
QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_2_4_BAND = 10,
@@ -1805,6 +1812,31 @@
};
/**
+ * enum qca_wlan_vendor_attr_link_properties - link properties
+ *
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_INVALID: Invalid initial value
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_NSS: Unsigned 8-bit value to
+ * specify the number of spatial streams negotiated
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_RATE_FLAGS: Unsigned 8-bit value
+ * to specify negotiated rate flags i.e. ht, vht and channel width
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_FREQ: Unsigned 32bit value to
+ * specify the operating frequency
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST: after last
+ * @QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_MAX: max value
+ */
+enum qca_wlan_vendor_attr_link_properties {
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_INVALID = 0,
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_NSS = 1,
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_RATE_FLAGS = 2,
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_FREQ = 3,
+
+ /* KEEP LAST */
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST,
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_MAX =
+ QCA_WLAN_VENDOR_ATTR_LINK_PROPERTIES_AFTER_LAST - 1,
+};
+
+/**
* enum qca_wlan_vendor_features - vendor device/driver features
* @QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD: Device supports key
* management offload, a mechanism where the station's firmware