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 <quic_jouni@quicinc.com>
This commit is contained in:
Nagasai Bharat Gatkeshwar Sainoji 2024-03-06 17:38:56 +05:30 committed by Jouni Malinen
parent 8f9da72d2e
commit 58017de69d

View file

@ -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 */