|
@@ -545,6 +545,27 @@
|
|
|
* various roam events to userspace.
|
|
|
* Applicable only for the STA mode. The attributes used with this command
|
|
|
* are defined in enum qca_wlan_vendor_attr_roam_events.
|
|
|
+ *
|
|
|
+ * @QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA: Multi-channel Concurrency (MCC) occurs
|
|
|
+ * when two interfaces are active on the same band, using two different
|
|
|
+ * home channels, and only supported by a single radio. In this scenario
|
|
|
+ * the device must split the use of the radio between the two interfaces.
|
|
|
+ * The percentage of time allocated to a given interface is the quota.
|
|
|
+ * Depending on the configuration, the quota can either be fixed or
|
|
|
+ * dynamic.
|
|
|
+ *
|
|
|
+ * When used as an event, the device will report the quota type, and for
|
|
|
+ * all interfaces operating in MCC it will report the current quota.
|
|
|
+ * When used as a command, the device can be configured for a specific
|
|
|
+ * quota type, and in the case of a fixed quota, the quota to apply to one
|
|
|
+ * of the interfaces.
|
|
|
+ *
|
|
|
+ * Applications can use the event to do TX bitrate control based on the
|
|
|
+ * information, and can use the command to explicitly set the quota to
|
|
|
+ * enhance performance in specific scenarios.
|
|
|
+ *
|
|
|
+ * The attributes used with this command are defined in
|
|
|
+ * enum qca_wlan_vendor_attr_mcc_quota.
|
|
|
*/
|
|
|
|
|
|
enum qca_nl80211_vendor_subcmds {
|
|
@@ -784,6 +805,7 @@ enum qca_nl80211_vendor_subcmds {
|
|
|
QCA_NL80211_VENDOR_SUBCMD_DIAG_DATA = 201,
|
|
|
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE = 202,
|
|
|
QCA_NL80211_VENDOR_SUBCMD_ROAM_EVENTS = 203,
|
|
|
+ QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA = 205,
|
|
|
};
|
|
|
|
|
|
enum qca_wlan_vendor_tos {
|
|
@@ -11675,6 +11697,72 @@ enum qca_wlan_vendor_attr_radar_history {
|
|
|
QCA_WLAN_VENDOR_ATTR_RADAR_HISTORY_LAST - 1,
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * enum qca_wlan_vendor_mcc_quota_type: MCC channel time quota type
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_CLEAR: In the event, it indicates that the
|
|
|
+ * target exited MCC state and cleared the quota information. In the
|
|
|
+ * command it clears MCC quota setting and restores adaptive scheduling.
|
|
|
+ * @QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_FIXED: Channel time quota is fixed and
|
|
|
+ * will not be changed.
|
|
|
+ * @QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_DYNAMIC: Channel time quota is dynamic
|
|
|
+ * and the target may change the quota based on the data activity.
|
|
|
+ */
|
|
|
+enum qca_wlan_vendor_mcc_quota_type {
|
|
|
+ QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_CLEAR = 0,
|
|
|
+ QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_FIXED = 1,
|
|
|
+ QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_DYNAMIC = 2,
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * enum qca_wlan_vendor_attr_mcc_quota: Used by the vendor event
|
|
|
+ * QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA to indicate MCC channel
|
|
|
+ * quota information or as a command to set the required MCC quota for an
|
|
|
+ * interface.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_TYPE: u32 attribute.
|
|
|
+ * The type is defined in enum qca_wlan_vendor_mcc_quota_type.
|
|
|
+ * In a command this specifies the MCC quota type to be set for the interface.
|
|
|
+ * In an event this provides the current quota type in force.
|
|
|
+ * This is required in a command and an event.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_ENTRIES: Nested attribute to carry
|
|
|
+ * the list of channel quota entries.
|
|
|
+ * In an event each entry contains the frequency and respective time quota for
|
|
|
+ * all the MCC interfaces.
|
|
|
+ * In a command it specifies the interface index and respective time quota.
|
|
|
+ * In a command only one entry (ifindex, quota pair) may be specified.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_FREQ: u32 attribute.
|
|
|
+ * Channel frequency in MHz. This is present only in an event.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_TIME_PERCENTAGE: u32 attribute.
|
|
|
+ * Channel time quota expressed as percentage.
|
|
|
+ * This is present in an event and a command.
|
|
|
+ * In an command, the user shall specify the quota to be allocated for the
|
|
|
+ * interface represented by %QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_IFINDEX.
|
|
|
+ * In an event this provides the existing quota for the channel.
|
|
|
+ *
|
|
|
+ * @QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_IFINDEX: u32 attribute.
|
|
|
+ * Specifies the interface index (netdev) for which the corresponding
|
|
|
+ * configurations are applied. This is required in a command only. Only one
|
|
|
+ * interface index may be specified. If not specified, the configuration is
|
|
|
+ * rejected.
|
|
|
+ */
|
|
|
+enum qca_wlan_vendor_attr_mcc_quota {
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_INVALID = 0,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_TYPE = 1,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_ENTRIES = 2,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_FREQ = 3,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_CHAN_TIME_PERCENTAGE = 4,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_IFINDEX = 5,
|
|
|
+
|
|
|
+ /* keep last */
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_LAST,
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_MAX =
|
|
|
+ QCA_WLAN_VENDOR_ATTR_MCC_QUOTA_LAST - 1,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum qca_wlan_vendor_attr_mdns_offload - Attributes used by
|
|
|
* %QCA_NL80211_VENDOR_SUBCMD_MDNS_OFFLOAD vendor command.
|