]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add kernel documentation for nss and chain configuration vendor command
authorAditya Kodukula <quic_akodukul@quicinc.com>
Tue, 7 May 2024 19:48:42 +0000 (12:48 -0700)
committerJouni Malinen <j@w1.fi>
Fri, 10 May 2024 16:21:54 +0000 (19:21 +0300)
Add kernel documentation to the attributes used in the vendor command
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION to configure the NSS
and chains values used for transmitting and receiving the data.

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

index 480d31825cc08bea8afcb45c73cf320cbecf8b24..c0e19b7a056558dd92aa28a0e355523a56455505 100644 (file)
@@ -31,6 +31,52 @@ enum qca_radiotap_vendor_ids {
        QCA_RADIOTAP_VID_WLANTEST = 0,
 };
 
+/**
+ * DOC: TX/RX NSS and chain configurations
+ * This document describes all of the attributes used in the vendor command
+ * QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION to configure the number of
+ * spatial streams (NSS) and the number of chains used for transmitting (TX) and
+ * receiving (RX) the data.
+ *
+ * Global NSS configuration - Applies to all bands (2.4 GHz and 5/6 GHz)
+ * The following attributes are used to dynamically configure the number of
+ * spatial streams to be used for transmitting or receiving the data in the
+ * 2.4 GHz and 5/6 GHz bands. When configured in disconnected state, the
+ * updated configuration will be considered for the immediately following
+ * connection attempt. If the NSS is updated during a connection, the updated
+ * NSS value is notified to the peer using operating mode notification/spatial
+ * multiplexing power save frame. The updated NSS value after the connection
+ * shall not be greater than the one negotiated during the connection. The
+ * driver rejects any such higher value configuration with a failure.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_NSS: Only symmetric NSS configuration
+ * (such as 2X2 or 1X1) can be done using this attribute.
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS: Configure NSS for transmitting the data
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS: Configure NSS for receiving the data
+ *
+ * The QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS and QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS
+ * attributes must be defined together or the driver will reject the command
+ * with a failure. They can be used to configure either symmetric NSS
+ * configuration (such as 2X2 or 1X1) or asymmetric configuration (such as 1X2).
+ *
+ * Global chain configuration - Applies to all bands (2.4 GHz and 5/6 GHz)
+ * The following attributes are used to dynamically configure the number of
+ * chains to be used for transmitting or receiving the data in the 2.4 GHz and
+ * 5/6 GHz bands. This configuration is allowed only when in connected state
+ * and will be effective until disconnected. The driver rejects this
+ * configuration if the number of spatial streams being used in the current
+ * connection cannot be supported by this configuration.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS: The number of chains to be used
+ * for transmitting the data in both the 2.4 GHz and 5/6 GHz bands.
+ * @QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS: The number of chains to be used
+ * for receiving the data in both the 2.4 GHz and 5/6 GHz bands.
+ *
+ * The attributes QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS and
+ * QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS must be defined together or the
+ * driver will reject the command with a failure.
+ */
+
 /**
  * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers
  *
@@ -2992,21 +3038,9 @@ enum qca_wlan_vendor_attr_config {
         */
        QCA_WLAN_VENDOR_ATTR_CONFIG_RX_STBC = 69,
 
-       /* 8-bit unsigned value. This attribute is used to dynamically configure
-        * the number of spatial streams. When configured in the disconnected
-        * state, the updated configuration will be considered for the
-        * immediately following connection attempt. If the NSS is updated after
-        * the connection, the updated NSS value is notified to the peer using
-        * the Operating Mode Notification/Spatial Multiplexing Power Save
-        * frame. The updated NSS value after the connection shall not be
-        * greater than the one negotiated during the connection. Any such
-        * higher value configuration shall be returned with a failure.
-        * Only symmetric NSS configuration (such as 2X2 or 1X1) can be done
-        * using this attribute. QCA_WLAN_VENDOR_ATTR_CONFIG_TX_NSS and
-        * QCA_WLAN_VENDOR_ATTR_CONFIG_RX_NSS attributes shall be used to
-        * configure the asymmetric NSS configuration (such as 1X2).
-        */
+       /* 8-bit unsigned value. Refer to TX/RX NSS and chain configurations */
        QCA_WLAN_VENDOR_ATTR_CONFIG_NSS = 70,
+
        /* 8-bit unsigned value to configure Optimized Power Management mode:
         * Modes are defined by enum qca_wlan_vendor_opm_mode.
         *
@@ -3038,21 +3072,10 @@ enum qca_wlan_vendor_attr_config {
         */
        QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE = 72,
 
-       /* 8-bit unsigned value. This attribute is used to dynamically configure
-        * the number of chains to be used for transmitting data. This
-        * configuration is allowed only when in connected state and will be
-        * effective until disconnected. The driver rejects this configuration
-        * if the number of spatial streams being used in the current connection
-        * cannot be supported by this configuration.
-        */
+       /* 8-bit unsigned value. Refer to TX/RX NSS and chain configurations */
        QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS = 73,
-       /* 8-bit unsigned value. This attribute is used to dynamically configure
-        * the number of chains to be used for receiving data. This
-        * configuration is allowed only when in connected state and will be
-        * effective until disconnected. The driver rejects this configuration
-        * if the number of spatial streams being used in the current connection
-        * cannot be supported by this configuration.
-        */
+
+       /* 8-bit unsigned value. Refer to TX/RX NSS and chain configurations */
        QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS = 74,
 
        /* 8-bit unsigned value to configure ANI setting type.