Assign QCA vendor command/attributes for set/get wifi configuration
authorSunil Dutt <usdutt@qti.qualcomm.com>
Tue, 22 Mar 2016 16:43:16 +0000 (22:13 +0530)
committerJouni Malinen <j@w1.fi>
Mon, 18 Apr 2016 21:49:33 +0000 (00:49 +0300)
This adds QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION and the attributes used
with these commands.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/common/qca-vendor.h

index 87bbc05..7759023 100644 (file)
@@ -140,7 +140,11 @@ enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58,
        QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59,
        QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60,
-       /* 61-90 - reserved for QCA */
+       /* 61-73 - reserved for QCA */
+       /* Wi-Fi configuration subcommands */
+       QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION = 74,
+       QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION = 75,
+       /* 76-90 - reserved for QCA */
        QCA_NL80211_VENDOR_SUBCMD_DATA_OFFLOAD = 91,
        QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG = 92,
        QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME = 93,
@@ -507,4 +511,58 @@ enum qca_vendor_attr_txpower_decr_db {
        QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_AFTER_LAST - 1
 };
 
+/* Attributes for data used by
+ * QCA_NL80211_VENDOR_SUBCMD_SET_CONFIGURATION and
+ * QCA_NL80211_VENDOR_SUBCMD_GET_CONFIGURATION subcommands.
+ */
+enum qca_wlan_vendor_attr_config {
+       QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID,
+       /* Unsigned 32-bit value to set the DTIM period.
+        * Whether the wifi chipset wakes at every dtim beacon or a multiple of
+        * the DTIM period. If DTIM is set to 3, the STA shall wake up every 3
+        * DTIM beacons.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM,
+       /* Unsigned 32-bit value to set the wifi_iface stats averaging factor
+        * used to calculate statistics like average the TSF offset or average
+        * number of frame leaked.
+        * For instance, upon Beacon frame reception:
+        * current_avg = ((beacon_TSF - TBTT) * factor + previous_avg * (0x10000 - factor) ) / 0x10000
+        * For instance, when evaluating leaky APs:
+        * current_avg = ((num frame received within guard time) * factor + previous_avg * (0x10000 - factor)) / 0x10000
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR,
+       /* Unsigned 32-bit value to configure guard time, i.e., when
+        * implementing IEEE power management based on frame control PM bit, how
+        * long the driver waits before shutting down the radio and after
+        * receiving an ACK frame for a Data frame with PM bit set.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME,
+       /* Unsigned 32-bit value to change the FTM capability dynamically */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT,
+       /* Unsigned 16-bit value to configure maximum TX rate dynamically */
+       QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE,
+       /* Unsigned 32-bit value to configure the number of continuous
+        * Beacon Miss which shall be used by the firmware to penalize
+        * the RSSI.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS,
+       /* Unsigned 8-bit value to configure the channel avoidance indication
+        * behavior. Firmware to send only one indication and ignore duplicate
+        * indications when set to avoid multiple Apps wakeups.
+        */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND,
+       /* 8-bit unsigned value to configure the maximum TX MPDU for
+        * aggregation. */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION,
+       /* 8-bit unsigned value to configure the maximum RX MPDU for
+        * aggregation. */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION,
+
+       /* keep last */
+       QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_CONFIG_MAX =
+       QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST - 1,
+};
+
 #endif /* QCA_VENDOR_H */