]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add QCA vendor command/attr for BRP antenna limit control
authorAlexei Avshalom Lazar <qca_ailizaro@qca.qualcomm.com>
Tue, 28 Feb 2017 07:36:41 +0000 (09:36 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 2 Mar 2017 13:05:46 +0000 (15:05 +0200)
Add QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT for setting the number
of antennas that will be active in different modes for each connection.

Signed-off-by: Alexei Avshalom Lazar <qca_ailizaro@qca.qualcomm.com>
src/common/qca-vendor.h

index 209944d1d9a2a9db851f0e839a00dcfd3ce39ee0..334da3caaa59332f7f331d4ddd017bebdf4fb5d1 100644 (file)
@@ -288,6 +288,10 @@ enum qca_radiotap_vendor_ids {
  * @QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL: Set the trace level for a
  *     specific QCA module. The trace levels are represented by
  *     enum qca_attr_trace_level attributes.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT: Set the Beam Refinement
+ *     Protocol antenna limit in different modes. See enum
+ *     qca_wlan_vendor_attr_brp_ant_limit_mode.
  */
 enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -415,6 +419,7 @@ enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET = 150,
        QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS = 151,
        QCA_NL80211_VENDOR_SUBCMD_SET_TRACE_LEVEL = 152,
+       QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT = 153,
 };
 
 
@@ -573,6 +578,19 @@ enum qca_wlan_vendor_attr {
         * driver.
         */
        QCA_WLAN_VENDOR_ATTR_BTM_CANDIDATE_INFO = 37,
+       /* Used in QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT command
+        * See enum qca_wlan_vendor_attr_brp_ant_limit_mode.
+        */
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE = 38,
+       /* Used in QCA_NL80211_VENDOR_SUBCMD_BRP_SET_ANT_LIMIT command
+        * to define the number of antennas to use for BRP.
+        * different purpose in each ANT_LIMIT_MODE:
+        * DISABLE - ignored
+        * EFFECTIVE - upper limit to number of antennas to be used
+        * FORCE - exact number of antennas to be used
+        * unsigned 8 bit value
+        */
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_NUM_LIMIT = 39,
 
        /* keep last */
        QCA_WLAN_VENDOR_ATTR_AFTER_LAST,
@@ -1842,6 +1860,24 @@ enum qca_wlan_vendor_attr_dmg_rf_sector_type {
        QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_MAX
 };
 
+/**
+ * BRP antenna limit mode
+ *
+ * @QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_DISABLE: Disable BRP force
+ *     antenna limit, BRP will be performed as usual.
+ * @QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_EFFECTIVE: Define maximal
+ *     antennas limit. the hardware may use less antennas than the
+ *     maximum limit.
+ * @QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_FORCE: The hardware will
+ *     use exactly the specified number of antennas for BRP.
+ */
+enum qca_wlan_vendor_attr_brp_ant_limit_mode {
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_DISABLE,
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_EFFECTIVE,
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_FORCE,
+       QCA_WLAN_VENDOR_ATTR_BRP_ANT_LIMIT_MODE_MAX
+};
+
 /**
  * enum qca_wlan_vendor_attr_dmg_rf_sector_cfg - Attributes for
  * DMG RF sector configuration for a single RF module.