From: Jay Shukla Date: Thu, 24 Apr 2025 04:58:19 +0000 (+0530) Subject: Add new QCA vendor command to set P2P NoA X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75be5daf69c24e49c71ac8a0bfc454b7fc8ec867;p=thirdparty%2Fhostap.git Add new QCA vendor command to set P2P NoA Add QCA_NL80211_VENDOR_SUBCMD_P2P_SET_NOA to set P2P Notice of Absence as group owner. Signed-off-by: Jay Shukla --- diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index b80ded208..4111fb025 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -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 */