|
@@ -8267,6 +8267,8 @@ enum qca_wlan_vendor_attr_wifi_test_config {
|
|
|
* @QCA_WLAN_TWT_TERMINATE: Terminate the TWT session. Required parameters are
|
|
|
* obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
|
|
|
* qca_wlan_vendor_attr_twt_setup. Valid only after the TWT session is setup.
|
|
|
+ * This terminate can either get triggered by the user space or can as well be
|
|
|
+ * a notification from the firmware if it initiates a terminate.
|
|
|
*
|
|
|
* @QCA_WLAN_TWT_SUSPEND: Suspend the TWT session. Required parameters are
|
|
|
* obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
|
|
@@ -8275,12 +8277,29 @@ enum qca_wlan_vendor_attr_wifi_test_config {
|
|
|
* @QCA_WLAN_TWT_RESUME: Resume the TWT session. Required parameters are
|
|
|
* configured through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
|
|
|
* qca_wlan_vendor_attr_twt_resume. Valid only after the TWT session is setup.
|
|
|
+ * This can as well be a notification from the firmware on a QCA_WLAN_TWT_NUDGE
|
|
|
+ * request.
|
|
|
*
|
|
|
* @QCA_WLAN_TWT_NUDGE: Suspend and resume the TWT session. TWT nudge is a
|
|
|
* combination of suspend and resume in a single request. Required parameters
|
|
|
* are configured through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the
|
|
|
* enum qca_wlan_vendor_attr_twt_nudge. Valid only after the TWT session is
|
|
|
* setup.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_GET_STATS: Get the TWT session traffic statistics information.
|
|
|
+ * Refers the enum qca_wlan_vendor_attr_twt_stats. Valid only after the TWT
|
|
|
+ * session is setup.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CLEAR_STATS: Clear TWT session traffic statistics information.
|
|
|
+ * Valid only after the TWT session is setup.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_GET_CAPABILITIES: Get TWT capabilities of this device and its
|
|
|
+ * peer. Refers the enum qca_wlan_vendor_attr_twt_capability. It's a synchronous
|
|
|
+ * operation, i.e., the capabilities are obtained in the corresponding
|
|
|
+ * vendor command reply to the user space.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_SETUP_READY_NOTIFY: Notify userspace that the firmare is
|
|
|
+ * ready for a new TWT session setup after it issued a twt teardown.
|
|
|
*/
|
|
|
enum qca_wlan_twt_operation {
|
|
|
QCA_WLAN_TWT_SET = 0,
|
|
@@ -8289,6 +8308,10 @@ enum qca_wlan_twt_operation {
|
|
|
QCA_WLAN_TWT_SUSPEND = 3,
|
|
|
QCA_WLAN_TWT_RESUME = 4,
|
|
|
QCA_WLAN_TWT_NUDGE = 5,
|
|
|
+ QCA_WLAN_TWT_GET_STATS = 6,
|
|
|
+ QCA_WLAN_TWT_CLEAR_STATS = 7,
|
|
|
+ QCA_WLAN_TWT_GET_CAPABILITIES = 8,
|
|
|
+ QCA_WLAN_TWT_SETUP_READY_NOTIFY = 9,
|
|
|
};
|
|
|
|
|
|
/* enum qca_wlan_vendor_attr_config_twt: Defines attributes used by
|
|
@@ -8302,8 +8325,8 @@ enum qca_wlan_twt_operation {
|
|
|
*
|
|
|
* @QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS: Nested attribute representing the
|
|
|
* parameters configured for TWT. These parameters are represented by
|
|
|
- * enum qca_wlan_vendor_attr_twt_setup or enum qca_wlan_vendor_attr_twt_resume
|
|
|
- * based on the operation.
|
|
|
+ * enum qca_wlan_vendor_attr_twt_setup, enum qca_wlan_vendor_attr_twt_resume
|
|
|
+ * or enum qca_wlan_vendor_attr_twt_stats based on the operation.
|
|
|
*/
|
|
|
enum qca_wlan_vendor_attr_config_twt {
|
|
|
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_INVALID = 0,
|
|
@@ -8316,6 +8339,19 @@ enum qca_wlan_vendor_attr_config_twt {
|
|
|
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_AFTER_LAST - 1,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * qca_wlan_twt_setup_state: Represents the TWT session states.
|
|
|
+ *
|
|
|
+ * QCA_WLAN_TWT_SETUP_STATE_NOT_ESTABLISHED: TWT session not established.
|
|
|
+ * QCA_WLAN_TWT_SETUP_STATE_ACTIVE: TWT session is active.
|
|
|
+ * QCA_WLAN_TWT_SETUP_STATE_SUSPEND: TWT session is in suspended state.
|
|
|
+ */
|
|
|
+enum qca_wlan_twt_setup_state {
|
|
|
+ QCA_WLAN_TWT_SETUP_STATE_NOT_ESTABLISHED = 0,
|
|
|
+ QCA_WLAN_TWT_SETUP_STATE_ACTIVE = 1,
|
|
|
+ QCA_WLAN_TWT_SETUP_STATE_SUSPEND = 2,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum qca_wlan_vendor_attr_twt_setup: Represents attributes for
|
|
|
* TWT (Target Wake Time) setup request. These attributes are sent as part of
|
|
@@ -8366,6 +8402,14 @@ enum qca_wlan_vendor_attr_config_twt {
|
|
|
* 2. TWT GET Request and Response
|
|
|
* 3. TWT TERMINATE Request and Response
|
|
|
* 4. TWT SUSPEND Request and Response
|
|
|
+ * Flow Id values from 0 to 254 represent a single TWT session
|
|
|
+ * Flow ID value of 255 represents all twt sessions for the following
|
|
|
+ * 1. TWT TERMINATE Request and Response
|
|
|
+ * 2. TWT SUSPEND Request and Response
|
|
|
+ * 4. TWT CLEAR STATISTICS request
|
|
|
+ * 5. TWT GET STATISTICS request and response
|
|
|
+ * If an invalid dialog id is provided, status
|
|
|
+ * QCA_WLAN_VENDOR_TWT_STATUS_SESSION_NOT_EXIST will be returned.
|
|
|
*
|
|
|
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_INTVL_EXP: Required (u8)
|
|
|
* This attribute (exp) is used along with the mantissa to derive the
|
|
@@ -8453,6 +8497,23 @@ enum qca_wlan_vendor_attr_config_twt {
|
|
|
* 4. TWT SUSPEND Request
|
|
|
* In STA mode, this is an optional parameter in request and response for
|
|
|
* the above four TWT operations.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_INTVL: Optional (u32)
|
|
|
+ * Minimum tolerance limit of wake interval parameter in microseconds.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_INTVL: Optional (u32)
|
|
|
+ * Maximum tolerance limit of wake interval parameter in microseconds.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_DURATION: Optional (u32)
|
|
|
+ * Minimum tolerance limit of wake duration parameter in microseconds.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_DURATION: Optional (u32)
|
|
|
+ * Maximum tolerance limit of wake duration parameter in microseconds.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_STATE: Optional (u32)
|
|
|
+ * TWT state for the given dialog id. The values for this are represented
|
|
|
+ * by enum qca_wlan_twt_setup_state.
|
|
|
+ * This is obtained through TWT GET operation.
|
|
|
*/
|
|
|
enum qca_wlan_vendor_attr_twt_setup {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_INVALID = 0,
|
|
@@ -8475,6 +8536,12 @@ enum qca_wlan_vendor_attr_twt_setup {
|
|
|
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAC_ADDR = 15,
|
|
|
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_INTVL = 16,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_INTVL = 17,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MIN_WAKE_DURATION = 18,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX_WAKE_DURATION = 19,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_SETUP_STATE = 20,
|
|
|
+
|
|
|
/* keep last */
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_AFTER_LAST,
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAX =
|
|
@@ -8503,6 +8570,16 @@ enum qca_wlan_vendor_attr_twt_setup {
|
|
|
* unknown reason
|
|
|
* @QCA_WLAN_VENDOR_TWT_STATUS_ALREADY_SUSPENDED: TWT session already in
|
|
|
* suspend state
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_STATUS_IE_INVALID: FW has dropped the frame due to
|
|
|
+ * invalid IE in the received TWT frame
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_STATUS_PARAMS_NOT_IN_RANGE: Parameters received from
|
|
|
+ * the responder are not in the specified range
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_STATUS_PEER_INITIATED_TERMINATE: FW terminated the TWT
|
|
|
+ * session due to request from the responder. Used on the TWT_TERMINATE
|
|
|
+ * notification from the firmware.
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_STATUS_ROAM_INITIATED_TERMINATE: FW terminated the TWT
|
|
|
+ * session due to roaming. Used on the TWT_TERMINATE notification from the
|
|
|
+ * firmware.
|
|
|
*/
|
|
|
enum qca_wlan_vendor_twt_status {
|
|
|
QCA_WLAN_VENDOR_TWT_STATUS_OK = 0,
|
|
@@ -8519,6 +8596,10 @@ enum qca_wlan_vendor_twt_status {
|
|
|
QCA_WLAN_VENDOR_TWT_STATUS_DENIED = 11,
|
|
|
QCA_WLAN_VENDOR_TWT_STATUS_UNKNOWN_ERROR = 12,
|
|
|
QCA_WLAN_VENDOR_TWT_STATUS_ALREADY_SUSPENDED = 13,
|
|
|
+ QCA_WLAN_VENDOR_TWT_STATUS_IE_INVALID = 14,
|
|
|
+ QCA_WLAN_VENDOR_TWT_STATUS_PARAMS_NOT_IN_RANGE = 15,
|
|
|
+ QCA_WLAN_VENDOR_TWT_STATUS_PEER_INITIATED_TERMINATE = 16,
|
|
|
+ QCA_WLAN_VENDOR_TWT_STATUS_ROAM_INITIATED_TERMINATE = 17,
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -8545,12 +8626,17 @@ enum qca_wlan_vendor_twt_status {
|
|
|
* @QCA_WLAN_VENDOR_ATTR_TWT_RESUME_FLOW_ID: Required (u8).
|
|
|
* Flow ID is the unique identifier for each TWT session. This attribute
|
|
|
* represents the respective TWT session to resume.
|
|
|
+ * Flow Id values from 0 to 254 represent a single TWT session
|
|
|
+ * Flow ID value of 255 represents all TWT sessions.
|
|
|
+ * If an invalid dialog id is provided, status
|
|
|
+ * QCA_WLAN_VENDOR_TWT_STATUS_SESSION_NOT_EXIST will be returned.
|
|
|
*
|
|
|
* @QCA_WLAN_VENDOR_ATTR_TWT_RESUME_MAC_ADDR: 6-byte MAC address
|
|
|
* Represents the MAC address of the peer to which TWT Resume is
|
|
|
* being sent. This is used in AP mode to represent the respective
|
|
|
* client and is a required parameter. In STA mode, this is an optional
|
|
|
* parameter
|
|
|
+ *
|
|
|
*/
|
|
|
enum qca_wlan_vendor_attr_twt_resume {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_INVALID = 0,
|
|
@@ -8566,23 +8652,6 @@ enum qca_wlan_vendor_attr_twt_resume {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_RESUME_AFTER_LAST - 1,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * enum qca_wlan_vendor_twt_setup_req_type - Required (u8)
|
|
|
- * Represents the setup type being requested for TWT.
|
|
|
- * @QCA_WLAN_VENDOR_TWT_SETUP_REQUEST: STA is not specifying all the TWT
|
|
|
- * parameters but relying on AP to fill the parameters during the negotiation.
|
|
|
- * @QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST: STA will provide all the suggested
|
|
|
- * values which the AP may accept or AP may provide alternative parameters
|
|
|
- * which the STA may accept.
|
|
|
- * @QCA_WLAN_VENDOR_TWT_SETUP_DEMAND: STA is not willing to accept any
|
|
|
- * alternate parameters than the requested ones.
|
|
|
- */
|
|
|
-enum qca_wlan_vendor_twt_setup_req_type {
|
|
|
- QCA_WLAN_VENDOR_TWT_SETUP_REQUEST = 1,
|
|
|
- QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST = 2,
|
|
|
- QCA_WLAN_VENDOR_TWT_SETUP_DEMAND = 3,
|
|
|
-};
|
|
|
-
|
|
|
/**
|
|
|
* enum qca_wlan_vendor_attr_twt_nudge - Represents attributes for
|
|
|
* TWT (Target Wake Time) nudge request. TWT nudge is a combination of suspend
|
|
@@ -8593,6 +8662,15 @@ enum qca_wlan_vendor_twt_setup_req_type {
|
|
|
* Flow ID is the unique identifier for each TWT session. This attribute
|
|
|
* represents the respective TWT session to suspend and resume.
|
|
|
*
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_FLOW_ID: Required (u8)
|
|
|
+ * Flow ID is the unique identifier for each TWT session. This attribute
|
|
|
+ * represents the respective TWT session to suspend and resume.
|
|
|
+ * Flow Id values from 0 to 254 represent a single TWT session
|
|
|
+ * Flow ID value of 255 represents all TWT sessions in TWT NUDGE request
|
|
|
+ * and response.
|
|
|
+ * If an invalid dialog id is provided, status
|
|
|
+ * QCA_WLAN_VENDOR_TWT_STATUS_SESSION_NOT_EXIST will be returned.
|
|
|
+ *
|
|
|
* @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME: Required (u32)
|
|
|
* This attribute is used as the SP offset which is the offset from
|
|
|
* TSF after which the wake happens. The units are in microseconds.
|
|
@@ -8607,6 +8685,10 @@ enum qca_wlan_vendor_twt_setup_req_type {
|
|
|
* being sent. This is used in AP mode to represent the respective
|
|
|
* client and is a required parameter. In STA mode, this is an optional
|
|
|
* parameter.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME_TSF: Optional (u64)
|
|
|
+ * This field contains absolute TSF value of the time at which twt
|
|
|
+ * sesion will be resumed.
|
|
|
*/
|
|
|
enum qca_wlan_vendor_attr_twt_nudge {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_INVALID = 0,
|
|
@@ -8614,6 +8696,7 @@ enum qca_wlan_vendor_attr_twt_nudge {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME = 2,
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_NEXT_TWT_SIZE = 3,
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_MAC_ADDR = 4,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME_TSF = 5,
|
|
|
|
|
|
/* keep last */
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST,
|
|
@@ -8621,6 +8704,163 @@ enum qca_wlan_vendor_attr_twt_nudge {
|
|
|
QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_AFTER_LAST - 1,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum qca_wlan_vendor_attr_twt_stats: Represents attributes for
|
|
|
+ * TWT (Target Wake Time) get statistics and clear statistics request.
|
|
|
+ * These attributes are sent as part of
|
|
|
+ * %QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_FLOW_ID: Required (u8)
|
|
|
+ * Flow ID is the unique identifier for each TWT session. This attribute
|
|
|
+ * represents the respective TWT session for get and clear TWT statistics.
|
|
|
+ * Flow Id values from 0 to 254 represent a single TWT session
|
|
|
+ * Flow ID value of 255 represents all TWT sessions in
|
|
|
+ * 1) TWT GET STATISTICS request and response
|
|
|
+ * 2) TWT CLEAR STATISTICS request
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAC_ADDR: 6-byte MAC address
|
|
|
+ * Represents the MAC address of the peer for which TWT Statistics
|
|
|
+ * is required.
|
|
|
+ * In AP mode this is used to represent the respective
|
|
|
+ * client and is a required parameter for
|
|
|
+ * 1) TWT GET STATISTICS request and response
|
|
|
+ * 2) TWT CLEAR STATISTICS request and response
|
|
|
+ * In STA mode, this is an optional parameter.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_SESSION_WAKE_DURATION: Required (u32)
|
|
|
+ * This is the duration of the service period in microseconds.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVG_WAKE_DURATION: Required (u32)
|
|
|
+ * Average of actual wake duration observed so far. Unit is microseconds.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS: Required (u32)
|
|
|
+ * Number of TWT service period elapsed so far.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_MIN_WAKE_DURATION: Required (u32)
|
|
|
+ * This is the minimum value of wake duration observed across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS. Unit is
|
|
|
+ * microseconds.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_MIN_WAKE_DURATION: Required (u32)
|
|
|
+ * This is the maximum value of wake duration observed across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS. Unit is
|
|
|
+ * microseconds.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_MPDU: Required (u32)
|
|
|
+ * Average number of MPDU's transmitted successfully across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_MPDU: Required (u32)
|
|
|
+ * Average number of MPDU's received successfully across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_PACKET_SIZE: Required (u32)
|
|
|
+ * Average number of bytes transmitted successfully across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_PACKET SIZE: Required (u32)
|
|
|
+ * Average number of bytes received successfully across
|
|
|
+ * QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS.
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS: Required (u32)
|
|
|
+ * Status of the TWT GET STATISTICS request.
|
|
|
+ * This contains status values in enum qca_wlan_vendor_twt_status
|
|
|
+ * Obtained in the QCA_WLAN_TWT_GET_STATS response from the firmware.
|
|
|
+ */
|
|
|
+enum qca_wlan_vendor_attr_twt_stats {
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_INVALID = 0,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_FLOW_ID = 1,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAC_ADDR = 2,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_SESSION_WAKE_DURATION = 3,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVG_WAKE_DURATION = 4,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_NUM_SP_ITERATIONS = 5,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_MIN_WAKE_DURATION = 6,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAX_WAKE_DURATION = 7,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_MPDU = 8,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_MPDU = 9,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_TX_PACKET_SIZE = 10,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AVERAGE_RX_PACKET_SIZE = 11,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS = 12,
|
|
|
+
|
|
|
+ /* keep last */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AFTER_LAST,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_MAX =
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_STATS_AFTER_LAST - 1,
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * qca_wlan_twt_get_capa - Represents the Bitmap of TWT capabilities
|
|
|
+ * supported by the device and peer.
|
|
|
+ * Values for %QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_GET_CAPABILITIES
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CAPA_REQUESTOR: TWT requestor support is advertised by
|
|
|
+ * TWT non-scheduling STA. This capability is advertised in the HE
|
|
|
+ * capability/Extended capabilities information element in the
|
|
|
+ * Association request frame by the device.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CAPA_RESPONDER: TWT responder support is advertised
|
|
|
+ * by the TWT scheduling AP. This capability is advertised in the extended
|
|
|
+ * capabilities/HE capabilities information element.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CAPA_BROADCAST: On requestor side, this indicates support
|
|
|
+ * for the broadcast TWT functionality. On responder side, this indicates
|
|
|
+ * support for the role of broadcast TWT scheduling functionality. This
|
|
|
+ * capability is advertised in the HE capabilities information element.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CAPA_TWT_FLEXIBLE: Device supports flexible TWT schedule.
|
|
|
+ * This capability is advertised in the HE capabilities information element.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_TWT_CAPA_REQUIRED: The TWT Required is advertised by AP to indicate
|
|
|
+ * that it mandates the associated HE STAs to support TWT. This capability is
|
|
|
+ * advertised by AP in the HE Operation Parameters field of the HE operation
|
|
|
+ * information element.
|
|
|
+ */
|
|
|
+enum qca_wlan_twt_capa {
|
|
|
+ QCA_WLAN_TWT_CAPA_REQUESTOR = BIT(0),
|
|
|
+ QCA_WLAN_TWT_CAPA_RESPONDER = BIT(1),
|
|
|
+ QCA_WLAN_TWT_CAPA_BROADCAST = BIT(2),
|
|
|
+ QCA_WLAN_TWT_CAPA_FLEXIBLE = BIT(3),
|
|
|
+ QCA_WLAN_TWT_CAPA_REQUIRED = BIT(4),
|
|
|
+
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * enum qca_wlan_vendor_attr_twt_capability - Represents attributes for TWT
|
|
|
+ * get capabilities request type. Used by QCA_WLAN_TWT_GET_CAPABILITIES TWT
|
|
|
+ * operation.
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAC_ADDR: 6-byte MAC address
|
|
|
+ * Represents the MAC address of the peer for which the TWT capabilities
|
|
|
+ * are being queried. This is used in AP mode to represent the respective
|
|
|
+ * client. In STA mode, this is an optional parameter.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_SELF: (u16).
|
|
|
+ * Self TWT capabilities. Carries a bitmap of TWT capabilities specified in
|
|
|
+ * enum qca_wlan_twt_capa.
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_PEER: (u16).
|
|
|
+ * Peer TWT capabilities. Carries a bitmap of TWT capabilities specified in
|
|
|
+ * enum qca_wlan_twt_capa.
|
|
|
+ */
|
|
|
+enum qca_wlan_vendor_attr_twt_capability {
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_INVALID = 0,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAC_ADDR = 1,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_SELF = 2,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_PEER = 3,
|
|
|
+
|
|
|
+ /* keep last */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_AFTER_LAST,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_MAX =
|
|
|
+ QCA_WLAN_VENDOR_ATTR_TWT_CAPABILITIES_AFTER_LAST - 1,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum qca_wlan_vendor_twt_setup_resp_type - Represents the response type by
|
|
|
* the TWT responder
|
|
@@ -8643,6 +8883,23 @@ enum qca_wlan_vendor_twt_setup_resp_type {
|
|
|
QCA_WLAN_VENDOR_TWT_RESP_ACCEPT = 4,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum qca_wlan_vendor_twt_setup_req_type - Required (u8)
|
|
|
+ * Represents the setup type being requested for TWT.
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_SETUP_REQUEST: STA is not specifying all the TWT
|
|
|
+ * parameters but relying on AP to fill the parameters during the negotiation.
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST: STA will provide all the suggested
|
|
|
+ * values which the AP may accept or AP may provide alternative parameters
|
|
|
+ * which the STA may accept.
|
|
|
+ * @QCA_WLAN_VENDOR_TWT_SETUP_DEMAND: STA is not willing to accept any
|
|
|
+ * alternate parameters than the requested ones.
|
|
|
+ */
|
|
|
+enum qca_wlan_vendor_twt_setup_req_type {
|
|
|
+ QCA_WLAN_VENDOR_TWT_SETUP_REQUEST = 1,
|
|
|
+ QCA_WLAN_VENDOR_TWT_SETUP_SUGGEST = 2,
|
|
|
+ QCA_WLAN_VENDOR_TWT_SETUP_DEMAND = 3,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum qca_wlan_throughput_level - Current throughput level
|
|
|
*
|