From: Nagasai Bharat Gatkeshwar Sainoji Date: Wed, 6 Mar 2024 12:08:56 +0000 (+0530) Subject: Add QCA vendor sub-command and attribute for spectral scan completion X-Git-Tag: hostap_2_11~261 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58017de69d5153786063019babc0b1a47e45bcce;p=thirdparty%2Fhostap.git Add QCA vendor sub-command and attribute for spectral scan completion Add a new QCA vendor sub-command QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE which will be used as a netlink event to indicate the completion of a spectral scan request. This event can also be sent incase of the spectral scan request timeout. To be able to configure the timeout the value, add a new vendor attribute QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETION_TIMEOUT in enum qca_wlan_vendor_attr_spectral_scan. Signed-off-by: Jouni Malinen --- diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h index 05fe09837..09c8b2434 100644 --- a/src/common/qca-vendor.h +++ b/src/common/qca-vendor.h @@ -1053,6 +1053,10 @@ enum qca_radiotap_vendor_ids { * adjust transmit power. The attributes used with this subcommand are * defined in enum qca_wlan_vendor_attr_adjust_tx_power. * + * @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE: Event indication from the + * driver to notify user application about the spectral scan completion. + * The attributes used with this subcommand are defined in + * enum qca_wlan_vendor_attr_spectral_scan_complete. */ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0, @@ -1278,6 +1282,7 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_FLOW_POLICY = 239, QCA_NL80211_VENDOR_SUBCMD_DISASSOC_PEER = 240, QCA_NL80211_VENDOR_SUBCMD_ADJUST_TX_POWER = 241, + QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE = 242, }; /* Compatibility defines for previously used subcmd names. @@ -7769,6 +7774,14 @@ enum qca_wlan_vendor_attr_spectral_scan { * the driver should configure the default transport mode to netlink. */ QCA_WLAN_VENDOR_ATTR_SPECTRAL_DATA_TRANSPORT_MODE = 33, + /* Spectral scan completion timeout. u32 attribute. This + * attribute is used to configure a timeout value (in us). The + * timeout value would be from the beginning of a spectral + * scan. This is an optional attribute. If this attribute is + * not populated, the driver would internally derive the + * timeout value. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETION_TIMEOUT = 34, QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_MAX = @@ -16971,4 +16984,43 @@ enum qca_wlan_vendor_spectral_data_transport_mode { QCA_WLAN_VENDOR_SPECTRAL_DATA_TRANSPORT_RELAY = 1, }; +/* enum qca_wlan_vendor_spectral_scan_complete_status - Attribute + * values for QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_STATUS to + * indicate the completion status for a spectral scan. + * + * @QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_SUCCESSFUL: + * Indicates a successful completion of the scan. + * + * @QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_TIMEOUT: Indicates + * a timeout has occured while processing the spectral reports. + */ +enum qca_wlan_vendor_spectral_scan_complete_status { + QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_SUCCESSFUL = 0, + QCA_WLAN_VENDOR_SPECTRAL_SCAN_COMPLETE_STATUS_TIMEOUT = 1, +}; + +/* enum qca_wlan_vendor_attr_spectral_scan_complete - Definition of + * attributes for @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_COMPLETE + * to indicate scan status and samples received from hardware. + * + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_INVALID: Invalid attribute + * + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_STATUS: u32 attribute. + * Indicates completion status, either the scan is successful or a timeout + * is issued by the driver. + * See enum qca_wlan_vendor_spectral_scan_complete_status. + * + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_RECEIVED_SAMPLES: u32 + * attribute. Number of spectral samples received after the scan has started. + */ +enum qca_wlan_vendor_attr_spectral_scan_complete { + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_INVALID = 0, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_STATUS = 1, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_RECEIVED_SAMPLES = 2, + + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_MAX = + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COMPLETE_AFTER_LAST - 1, +}; + #endif /* QCA_VENDOR_H */