]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add new QCA vendor attribute for WLAN Latency Module (WLM)
authorPaul Zhang <paulz@qti.qualcomm.com>
Thu, 30 Nov 2017 13:40:30 +0000 (21:40 +0800)
committerJouni Malinen <j@w1.fi>
Fri, 8 Dec 2017 12:15:19 +0000 (14:15 +0200)
A new vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL is added
for vendor sub-command QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION.
This attribute is for setting the level of WLM.

Signed-off-by: Paul Zhang <paulz@qti.qualcomm.com>
src/common/qca-vendor.h

index 9d12939b2b77bb8e3eb5d598c30318eec4c93862..3f20ab63065b14ce96b8b8fe37facc1256b06c77 100644 (file)
@@ -1480,6 +1480,11 @@ enum qca_wlan_vendor_attr_config {
         * 0-enable, 1-disable */
        QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS = 54,
 
+       /* 16-bit unsigned value to configure the level of WLAN latency
+        * module. See enum qca_wlan_vendor_attr_config_latency_level.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL = 55,
+
        /* keep last */
        QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST,
        QCA_WLAN_VENDOR_ATTR_CONFIG_MAX =
@@ -4220,4 +4225,40 @@ enum qca_wlan_vendor_attr_rtplinst {
                QCA_WLAN_VENDOR_ATTR_RTPLINST_AFTER_LAST - 1,
 };
 
+/**
+ * enum qca_wlan_vendor_attr_config_latency_level - Level for
+ * wlan latency module.
+ *
+ * There will be various of Wi-Fi functionality like scan/roaming/adaptive
+ * power saving which would causing data exchange out of service, this
+ * would be a big impact on latency. For latency sensitive applications over
+ * Wi-Fi are intolerant to such operations and thus would configure them
+ * to meet their respective needs. It is well understood by such applications
+ * that altering the default behavior would degrade the Wi-Fi functionality
+ * w.r.t the above pointed WLAN operations.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_NORMAL:
+ *     Default WLAN operation level which throughput orientated.
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_MODERATE:
+ *     Use moderate level to improve latency by limit scan duration.
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_LOW:
+ *     Use low latency level to benifit application like concurrent
+ *     downloading or video streaming via constraint scan/adaptive PS.
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_ULTRALOW:
+ *     Use ultra low latency level to benefit for gaming/voice
+ *     application via constraint scan/roaming/adaptive PS.
+ */
+enum qca_wlan_vendor_attr_config_latency_level {
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_INVALID = 0,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_NORMAL = 1,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_MODERATE = 2,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_LOW = 3,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_ULTRALOW = 4,
+
+       /* keep last */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_MAX =
+       QCA_WLAN_VENDOR_ATTR_CONFIG_LATENCY_LEVEL_AFTER_LAST - 1,
+};
+
 #endif /* QCA_VENDOR_H */