Define AFC vendor commands and events
Wi-Fi Alliance specification for Automated Frequency Coordination (AFC) system ensures that the Standard Power Wi-Fi devices can operate in 6 GHz spectrum under favorable conditions, without any interference with the incumbent devices. Add support for vendor command/events and corresponding attributes to define the interface for exchanging AFC requests and responses between the driver and a userspace application. Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
46f5cf9280
commit
16d913bfd8
1 changed files with 428 additions and 0 deletions
|
@ -862,6 +862,14 @@ enum qca_radiotap_vendor_ids {
|
|||
*
|
||||
* The attributes used with this event are defined in
|
||||
* enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event.
|
||||
*
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT: This vendor command is used by the
|
||||
* driver to notify different AFC events to userspace. The attributes used
|
||||
* with this command are defined in enum qca_wlan_vendor_attr_afc_event.
|
||||
*
|
||||
* @QCA_NL80211_VENDOR_SUBCMD_AFC_RESPONSE: This vendor command is used by
|
||||
* userspace to deliver AFC response data to driver. The attributes used
|
||||
* with this command are defined in enum qca_wlan_vendor_attr_afc_response.
|
||||
*/
|
||||
enum qca_nl80211_vendor_subcmds {
|
||||
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
|
||||
|
@ -1067,6 +1075,8 @@ enum qca_nl80211_vendor_subcmds {
|
|||
QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY = 219,
|
||||
QCA_NL80211_VENDOR_SUBCMD_SR = 220,
|
||||
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT = 221,
|
||||
QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT = 222,
|
||||
QCA_NL80211_VENDOR_SUBCMD_AFC_RESPONSE = 223,
|
||||
};
|
||||
|
||||
/* Compatibility defines for previously used subcmd names.
|
||||
|
@ -13716,4 +13726,422 @@ enum qca_wlan_vendor_attr_mlo_peer_prim_netdev_event {
|
|||
QCA_WLAN_VENDOR_ATTR_MLO_PEER_PRIM_NETDEV_EVENT_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_afc_freq_psd_info: This enum is used with
|
||||
* nested attributes QCA_WLAN_VENDOR_ATTR_AFC_RESP_FREQ_PSD_INFO and
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_FREQ_RANGE_LIST to update the frequency range
|
||||
* and PSD information.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_START: Required and type is
|
||||
* u32. This attribute is used to indicate the start of the queried frequency
|
||||
* range in MHz.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_END: Required and type is u32.
|
||||
* This attribute is used to indicate the end of the queried frequency range
|
||||
* in MHz.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_PSD: Required and type is u32.
|
||||
* This attribute will contain the PSD information for a single range as
|
||||
* specified by the QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_START and
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_END attributes.
|
||||
*
|
||||
* The PSD power info (dBm/MHz) from user space should be multiplied
|
||||
* by a factor of 100 when sending to the driver to preserve granularity
|
||||
* up to 2 decimal places.
|
||||
* Example:
|
||||
* PSD power value: 10.21 dBm/MHz
|
||||
* Value to be updated in QCA_WLAN_VENDOR_ATTR_AFC_PSD_INFO: 1021.
|
||||
*
|
||||
* Note: QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_PSD attribute will be used only
|
||||
* with nested attribute QCA_WLAN_VENDOR_ATTR_AFC_RESP_FREQ_PSD_INFO and with
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_FREQ_RANGE_LIST when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE.
|
||||
*
|
||||
* The following set of attributes will be used to exchange frequency and
|
||||
* corresponding PSD information for AFC between the user space and the driver.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_afc_freq_psd_info {
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_START = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_RANGE_END = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_PSD = 3,
|
||||
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_FREQ_PSD_INFO_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_afc_chan_eirp_info: This enum is used with
|
||||
* nested attribute QCA_WLAN_VENDOR_ATTR_AFC_CHAN_LIST_INFO to update the
|
||||
* channel list and corresponding EIRP information.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM: Required and type is u8.
|
||||
* This attribute is used to indicate queried channel from
|
||||
* the operating class indicated in QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP: Optional and type is u32.
|
||||
* This attribute is used to configure the EIRP power info corresponding
|
||||
* to the channel number indicated in QCA_WLAN_VENDOR_ATTR_AFC_CHAN_NUM.
|
||||
* The EIRP power info(dBm) from user space should be multiplied
|
||||
* by a factor of 100 when sending to Driver to preserve granularity up to
|
||||
* 2 decimal places.
|
||||
* Example:
|
||||
* EIRP power value: 34.23 dBm
|
||||
* Value to be updated in QCA_WLAN_VENDOR_ATTR_AFC_EIRP_INFO: 3423.
|
||||
*
|
||||
* Note: QCA_WLAN_VENDOR_ATTR_AFC_EIRP_INFO attribute will only be used with
|
||||
* nested attribute QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO and
|
||||
* with QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_LIST when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE:
|
||||
*
|
||||
* The following set of attributes will be used to exchange Channel and
|
||||
* corresponding EIRP information for AFC between the user space and Driver.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_afc_chan_eirp_info {
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP = 2,
|
||||
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_afc_opclass_info: This enum is used with nested
|
||||
* attributes QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO and
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_REQ_OPCLASS_CHAN_INFO to update the operating class,
|
||||
* channel, and EIRP related information.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS: Required and type is u8.
|
||||
* This attribute is used to indicate the operating class, as listed under
|
||||
* IEEE Std 802.11-2020 Annex E Table E-4, for the queried channel list.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST: Array of nested attributes
|
||||
* for updating the channel number and EIRP power information.
|
||||
* It uses the attributes defined in
|
||||
* enum qca_wlan_vendor_attr_afc_chan_eirp_info.
|
||||
*
|
||||
* Operating class information packing format for
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_INFO when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE_EXPIRY.
|
||||
*
|
||||
* m - Total number of operating classes.
|
||||
* n, j - Number of queried channels for the corresponding operating class.
|
||||
*
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[0]
|
||||
* .....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[n - 1]
|
||||
* ....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS[m]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST[m]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[0]
|
||||
* ....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[j - 1]
|
||||
*
|
||||
* Operating class information packing format for
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO and
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_INFO when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE.
|
||||
*
|
||||
* m - Total number of operating classes.
|
||||
* n, j - Number of channels for the corresponding operating class.
|
||||
*
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP[0]
|
||||
* .....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[n - 1]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP[n - 1]
|
||||
* ....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS[m]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST[m]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[0]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP[0]
|
||||
* ....
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_CHAN_NUM[j - 1]
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_CHAN_EIRP_INFO_EIRP[j - 1]
|
||||
*
|
||||
* The following set of attributes will be used to exchange operating class
|
||||
* information for AFC between the user space and the driver.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_afc_opclass_info {
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_OPCLASS = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_CHAN_LIST = 2,
|
||||
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_OPCLASS_INFO_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_afc_event_type: Defines values for AFC event type.
|
||||
* Attribute used by QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE attribute.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY: AFC expiry event sent from the
|
||||
* driver to userspace in order to query the new AFC power values.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE: Power update
|
||||
* complete event will be sent from the driver to userspace to indicate
|
||||
* processing of the AFC response.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVENT_TYPE_PAYLOAD_RESET: AFC payload reset event
|
||||
* will be sent from the driver to userspace to indicate last received
|
||||
* AFC response data has been cleared on the AP due to invalid data
|
||||
* in the QCA_NL80211_VENDOR_SUBCMD_AFC_RESPONSE.
|
||||
*
|
||||
* The following enum defines the different event types that will be
|
||||
* used by the driver to help trigger corresponding AFC functionality in user
|
||||
* space.
|
||||
*/
|
||||
enum qca_wlan_vendor_afc_event_type {
|
||||
QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY = 0,
|
||||
QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE = 1,
|
||||
QCA_WLAN_VENDOR_AFC_EVENT_TYPE_PAYLOAD_RESET = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_afc_ap_deployment_type: Defines values for AP
|
||||
* deployment type.
|
||||
* Attribute used by QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AP_DEPLOYMENT attribute.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_UNKNOWN: Unknown AP deployment.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_INDOOR: Indoor AP deployment.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_OUTDOOR: Outdoor AP deployment.
|
||||
*
|
||||
* The following enum defines different deployment modes that the AP might
|
||||
* come up in. This information will be essential to retrieve deployment-type
|
||||
* specific SP power values for AFC operation.
|
||||
*/
|
||||
enum qca_wlan_vendor_afc_ap_deployment_type {
|
||||
QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_UNKNOWN = 0,
|
||||
QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_INDOOR = 1,
|
||||
QCA_WLAN_VENDOR_AFC_AP_DEPLOYMENT_TYPE_OUTDOOR = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_afc_evt_status_code: Defines values AP will use to
|
||||
* indicate AFC response status.
|
||||
* Enum used by QCA_WLAN_VENDOR_ATTR_AFC_EVENT_STATUS_CODE attribute.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_SUCCESS: Success
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_TIMEOUT: Indicates AFC indication
|
||||
* command was not received within the expected time of the AFC expiry event
|
||||
* being triggered.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_PARSING_ERROR: Indicates AFC data
|
||||
* parsing error by the driver.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_LOCAL_ERROR: Indicates any other local
|
||||
* error.
|
||||
*
|
||||
* The following enum defines the status codes that the driver will use to
|
||||
* indicate whether the AFC data is valid or not.
|
||||
*/
|
||||
enum qca_wlan_vendor_afc_evt_status_code {
|
||||
QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_SUCCESS = 0,
|
||||
QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_TIMEOUT = 1,
|
||||
QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_PARSING_ERROR = 2,
|
||||
QCA_WLAN_VENDOR_AFC_EVT_STATUS_CODE_LOCAL_ERROR = 3,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_afc_event: Defines attributes to be used with
|
||||
* vendor event QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT. These attributes will
|
||||
* support sending only a single request to the user space at a time.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE: Required u8 attribute.
|
||||
* Used with event to notify the type of AFC event received.
|
||||
* Valid values are defined in enum qca_wlan_vendor_afc_event_type.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AP_DEPLOYMENT: u8 attribute. Required when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY,
|
||||
* otherwise unused.
|
||||
*
|
||||
* This attribute is used to indicate the AP deployment type in the AFC request.
|
||||
* Valid values are defined in enum qca_wlan_vendor_afc_ap_deployment_type.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_REQ_ID: Required u32 attribute.
|
||||
* Unique request identifier generated by the AFC client for every
|
||||
* AFC expiry event trigger. See also QCA_WLAN_VENDOR_ATTR_AFC_RESP_REQ_ID.
|
||||
* The user space application is responsible for ensuring no duplicate values
|
||||
* are in-flight with the server, e.g., by delaying a request, should the same
|
||||
* value be received from different radios in parallel.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFC_WFA_VERSION: u32 attribute. Optional.
|
||||
* It is used when the QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY, otherwise unused.
|
||||
*
|
||||
* This attribute indicates the AFC spec version information. This will
|
||||
* indicate the AFC version AFC client must use to query the AFC data.
|
||||
* Bits 15:0 - Minor version
|
||||
* Bits 31:16 - Major version
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_MIN_DES_POWER: u16 attribute. Required when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY,
|
||||
* otherwise unused.
|
||||
* This attribute indicates the minimum desired power (in dBm) for
|
||||
* the queried spectrum.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_STATUS_CODE: u8 attribute. Required when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
*
|
||||
* Valid values are defined in enum qca_wlan_vendor_afc_evt_status_code.
|
||||
* This attribute is used to indicate if there were any errors parsing the
|
||||
* AFC response.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_SERVER_RESP_CODE: s32 attribute. Required
|
||||
* when QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
*
|
||||
* This attribute indicates the AFC response code. The AFC response codes are
|
||||
* in the following categories:
|
||||
* -1: General Failure.
|
||||
* 0: Success.
|
||||
* 100 - 199: General errors related to protocol.
|
||||
* 300 - 399: Error events specific to message exchange
|
||||
* for the Available Spectrum Inquiry.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_DATE: u32 attribute. Required when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
*
|
||||
* This attribute indicates the date until which the current response is
|
||||
* valid for in UTC format.
|
||||
* Date format: bits 7:0 - DD (Day 1-31)
|
||||
* bits 15:8 - MM (Month 1-12)
|
||||
* bits 31:16 - YYYY (Year)
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_TIME: u32 attribute. Required when
|
||||
* QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
*
|
||||
* This attribute indicates the time until which the current response is
|
||||
* valid for in UTC format.
|
||||
* Time format: bits 7:0 - SS (Seconds 0-59)
|
||||
* bits 15:8 - MM (Minutes 0-59)
|
||||
* bits 23:16 - HH (Hours 0-23)
|
||||
* bits 31:24 - Reserved
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_FREQ_RANGE_LIST: Array of nested attributes
|
||||
* for updating the list of frequency ranges to be queried.
|
||||
* Required when QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY or
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
* It uses the attributes defined in
|
||||
* enum qca_wlan_vendor_attr_afc_freq_psd_info.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_LIST: Array of nested attributes
|
||||
* for updating the list of operating classes and corresponding channels to be
|
||||
* queried.
|
||||
* Required when QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE is
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_EXPIRY or
|
||||
* QCA_WLAN_VENDOR_AFC_EVENT_TYPE_POWER_UPDATE_COMPLETE, otherwise unused.
|
||||
* It uses the attributes defined in enum qca_wlan_vendor_attr_afc_opclass_info.
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_afc_event {
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_TYPE = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AP_DEPLOYMENT = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_REQ_ID = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFC_WFA_VERSION = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_MIN_DES_POWER = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_STATUS_CODE = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_SERVER_RESP_CODE = 7,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_DATE = 8,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_EXP_TIME = 9,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_FREQ_RANGE_LIST = 10,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_OPCLASS_CHAN_LIST = 11,
|
||||
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_EVENT_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum qca_wlan_vendor_attr_afc_response: Defines attributes to be used
|
||||
* with vendor command QCA_NL80211_VENDOR_SUBCMD_AFC_RESPONSE. These attributes
|
||||
* will support sending only a single AFC response to the driver at a time.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_DATA: Type is NLA_STRING. Required attribute.
|
||||
* This attribute will be used to send a single Spectrum Inquiry response object
|
||||
* from the 'availableSpectrumInquiryResponses' array object from the response
|
||||
* JSON.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_TIME_TO_LIVE: Required u32 attribute.
|
||||
*
|
||||
* This attribute indicates the period (in seconds) for which the response
|
||||
* data received is valid for.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_REQ_ID: Required u32 attribute.
|
||||
*
|
||||
* This attribute indicates the request ID for which the corresponding
|
||||
* response is being sent for. See also QCA_WLAN_VENDOR_ATTR_AFC_EVENT_REQ_ID.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_DATE: Required u32 attribute.
|
||||
*
|
||||
* This attribute indicates the date until which the current response is
|
||||
* valid for in UTC format.
|
||||
* Date format: bits 7:0 - DD (Day 1-31)
|
||||
* bits 15:8 - MM (Month 1-12)
|
||||
* bits 31:16 - YYYY (Year)
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_TIME: Required u32 attribute.
|
||||
*
|
||||
* This attribute indicates the time until which the current response is
|
||||
* valid for in UTC format.
|
||||
* Time format: bits 7:0 - SS (Seconds 0-59)
|
||||
* bits 15:8 - MM (Minutes 0-59)
|
||||
* bits 23:16 - HH (Hours 0-23)
|
||||
* bits 31:24 - Reserved
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFC_SERVER_RESP_CODE: Required s32 attribute.
|
||||
*
|
||||
* This attribute indicates the AFC response code. The AFC response codes are
|
||||
* in the following categories:
|
||||
* -1: General Failure.
|
||||
* 0: Success.
|
||||
* 100 - 199: General errors related to protocol.
|
||||
* 300 - 399: Error events specific to message exchange
|
||||
* for the Available Spectrum Inquiry.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_FREQ_PSD_INFO: Array of nested attributes
|
||||
* for PSD info of all the queried frequency ranges. It uses the attributes
|
||||
* defined in enum qca_wlan_vendor_attr_afc_freq_psd_info. Required attribute.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO: Array of nested
|
||||
* attributes for EIRP info of all queried operating class/channels. It uses
|
||||
* the attributes defined in enum qca_wlan_vendor_attr_afc_opclass_info and
|
||||
* enum qca_wlan_vendor_attr_afc_chan_eirp_info. Required attribute.
|
||||
*
|
||||
*/
|
||||
enum qca_wlan_vendor_attr_afc_response {
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_DATA = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_TIME_TO_LIVE = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_REQ_ID = 3,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_DATE = 4,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_EXP_TIME = 5,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFC_SERVER_RESP_CODE = 6,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_FREQ_PSD_INFO = 7,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_OPCLASS_CHAN_EIRP_INFO = 8,
|
||||
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_AFC_RESP_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
#endif /* QCA_VENDOR_H */
|
||||
|
|
Loading…
Reference in a new issue