]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add new QCA vendor command to set P2P NoA
authorJay Shukla <jayshukl@qti.qualcomm.com>
Thu, 24 Apr 2025 04:58:19 +0000 (10:28 +0530)
committerJouni Malinen <j@w1.fi>
Thu, 5 Jun 2025 10:11:50 +0000 (13:11 +0300)
Add QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA to set P2P Notice of Absence
as group owner.

Signed-off-by: Jay Shukla <jayshukl@qti.qualcomm.com>
src/common/qca-vendor.h

index b80ded208c9db915378e4c88242d4a3250756e85..4111fb025ef105226a0f3e4fbd93245a5a9a73d9 100644 (file)
@@ -1378,6 +1378,11 @@ enum qca_radiotap_vendor_ids {
  *
  *     The attributes used with this command/event are defined in
  *     enum qca_wlan_vendor_attr_iq_data_inference.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA: Vendor subcommand used to
+ *     enable/disable Notice of Absence (NoA) as a GO in a P2P connection.
+ *     The attributes used with this command are defined in
+ *     enum qca_wlan_vendor_attr_p2p_set_noa.
  */
 enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -1622,6 +1627,7 @@ enum qca_nl80211_vendor_subcmds {
        QCA_NL80211_VENDOR_SUBCMD_CLASSIFIED_FLOW_STATUS = 258,
        QCA_NL80211_VENDOR_SUBCMD_RX_MCS_MAP_CONFIG = 259,
        QCA_NL80211_VENDOR_SUBCMD_IQ_DATA_INFERENCE = 260,
+       QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA = 261,
 };
 
 /* Compatibility defines for previously used subcmd names.
@@ -19626,4 +19632,41 @@ enum qca_wlan_vendor_iq_inference_status {
        QCA_WLAN_VENDOR_IQ_INFERENCE_STATUS_COMPLETE = 2,
 };
 
+/**
+ * enum qca_wlan_vendor_attr_p2p_set_noa - Represents the attributes sent as a
+ * part of set NoA message. This enum is used by
+ * %QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_COUNT: u8 mandatory attribute.
+ * 0 - Disable NoA
+ * 1 to 254 - Number of absence periods to be scheduled during the NoA.
+ * 255 - Absence periods shall repeat until the NoA is disabled.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_DURATION: u32 optional attribute. This is
+ * mandatory attribute when %QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_COUNT is set to
+ * non-zero value. This specifies the duration (in TUs) of each absence period.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_INTERVAL: u32 optional attribute. This is
+ * mandatory attribute when %QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_COUNT is set to
+ * non-zero value. This specifies time (in TUs) between consecutive absence
+ * periods.
+ *
+ * @QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_START: u32 optional attribute. This
+ * specifies the start offset time (in milliseconds) of the first absence period
+ * after the beacon advertising the NoA. If this attribute not present, the
+ * driver will use the default start offset value.
+ */
+enum qca_wlan_vendor_attr_p2p_set_noa {
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_INVALID = 0,
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_COUNT = 1,
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_DURATION = 2,
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_INTERVAL = 3,
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_START = 4,
+
+       /* keep last */
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_AFTER_LAST,
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_MAX =
+       QCA_WLAN_VENDOR_ATTR_P2P_SET_NOA_AFTER_LAST - 1,
+};
+
 #endif /* QCA_VENDOR_H */