qcacmn: Vendor command to configure TWT

This commit defines a new vendor interface
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT to configure TWT.

Change-Id: I077c26e56dccbcead9d5e770700813b65bb8aff4
CRs-fixed: 2729753
This commit is contained in:
Lincoln Tran
2020-07-10 15:35:30 -07:00
committed by snandini
parent de9b5409c9
commit ab9b3ce1e0

View File

@@ -427,6 +427,9 @@
* This command can only be used in STA mode and the STA must be
* associated with an AP when the command is issued. Uses attributes
* defined in enum qca_wlan_vendor_attr_config_tspec.
*
* @QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT: Vendor subcommand to configure TWT.
* Uses attributes defined in enum qca_wlan_vendor_attr_config_twt.
*/
enum qca_nl80211_vendor_subcmds {
@@ -652,6 +655,7 @@ enum qca_nl80211_vendor_subcmds {
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO = 188,
QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON = 189,
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TSPEC = 190,
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT = 191,
};
enum qca_wlan_vendor_tos {
@@ -7921,11 +7925,67 @@ enum qca_wlan_vendor_attr_wifi_test_config {
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_AFTER_LAST - 1,
};
/**
* enum qca_wlan_twt_operation - Operation of the config TWT request
* Values for %QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_OPERATION.
*
* @QCA_WLAN_TWT_SET: Setup a TWT session. Required parameters are configured
* through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
* qca_wlan_vendor_attr_twt_setup.
*
* @QCA_WLAN_TWT_GET: Get the configured TWT parameters. Required parameters are
* obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. Refers the enum
* qca_wlan_vendor_attr_twt_setup.
*
* @QCA_WLAN_TWT_TERMINATE: Terminate the TWT session. Does not carry any
* parameters. Valid only after the TWT session is setup.
*
* @QCA_WLAN_TWT_SUSPEND: Terminate the TWT session. Does not carry any
* parameters. Valid only after the TWT session is setup.
*
* @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.
*/
enum qca_wlan_twt_operation {
QCA_WLAN_TWT_SET = 0,
QCA_WLAN_TWT_GET = 1,
QCA_WLAN_TWT_TERMINATE = 2,
QCA_WLAN_TWT_SUSPEND = 3,
QCA_WLAN_TWT_RESUME = 4,
};
/* enum qca_wlan_vendor_attr_config_twt: Defines attributes used by
* %QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT
*
* @QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_OPERATION:
* u8 attribute. Specify the TWT operation of this request. Possible values
* are defined in enum qca_wlan_twt_operation. The parameters for the
* respective operation is specified through
* QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS.
*
* @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_config_twt {
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_INVALID = 0,
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_OPERATION = 1,
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS = 2,
/* keep last */
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_AFTER_LAST,
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_MAX =
QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_AFTER_LAST - 1,
};
/**
* enum qca_wlan_vendor_attr_twt_setup: Represents attributes for
* TWT (Target Wake Time) setup request. These attributes are sent as part of
* %QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_SETUP and
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION.
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Also used by
* attributes through %QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT.
*
* @QCA_WLAN_VENDOR_ATTR_TWT_SETUP_BCAST: Flag attribute.
* Disable (flag attribute not present) - Individual TWT
@@ -8004,7 +8064,8 @@ enum qca_wlan_vendor_attr_twt_setup {
* enum qca_wlan_vendor_attr_twt_resume: Represents attributes for
* TWT (Target Wake Time) resume request. These attributes are sent as part of
* %QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_TWT_RESUME and
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION.
* %QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Also used by
* attributes through %QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT.
*
* @QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT: Optional (u8)
* This attribute is used as the SP offset which is the offset from