qcacmn: Vendor command to configure rate mask
Introduce a new vendor command QCA_NL80211_VENDOR_SUBCMD_RATEMASK_CONFIG. This is used to set the rate mask config to be used in mcs rate selection per PHY type. Change-Id: I013a547be89dac187bc48531a674f3dde8a3f6e9 CRs-Fixed: 3137604
This commit is contained in:

committed by
Madan Koyyalamudi

parent
9ed0a7c970
commit
d0232b9bc0
@@ -546,6 +546,11 @@
|
||||
* 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_RATEMASK_CONFIG: Sub-command to set or reset the
|
||||
* rate mask config for a list of phy types. Userspace shall provide
|
||||
* an array of the vendor attributes defined in
|
||||
* enum QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS.
|
||||
*
|
||||
* @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
|
||||
@@ -805,6 +810,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_RATEMASK_CONFIG = 204,
|
||||
QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA = 205,
|
||||
};
|
||||
|
||||
@@ -12790,4 +12796,59 @@ enum qca_wlan_vendor_attr_roam_events {
|
||||
QCA_WLAN_VENDOR_ATTR_ROAM_EVENTS_AFTER_LAST - 1,
|
||||
};
|
||||
|
||||
/*
|
||||
* enum qca_wlan_ratemask_params_type - Rate mask config type.
|
||||
*
|
||||
* @QCA_WLAN_RATEMASK_PARAMS_TYPE_CCK_OFDM: CCK_OFDM rate mask config
|
||||
* @QCA_WLAN_RATEMASK_PARAMS_TYPE_HT: HT rate mask config
|
||||
* @QCA_WLAN_RATEMASK_PARAMS_TYPE_VHT: VHT rate mask config
|
||||
* @QCA_WLAN_RATEMASK_PARAMS_TYPE_HE: HE rate mask config
|
||||
*/
|
||||
enum qca_wlan_ratemask_params_type {
|
||||
QCA_WLAN_RATEMASK_PARAMS_TYPE_CCK_OFDM = 0,
|
||||
QCA_WLAN_RATEMASK_PARAMS_TYPE_HT = 1,
|
||||
QCA_WLAN_RATEMASK_PARAMS_TYPE_VHT = 2,
|
||||
QCA_WLAN_RATEMASK_PARAMS_TYPE_HE = 3,
|
||||
};
|
||||
|
||||
/* enum qca_wlan_vendor_attr_ratemask_params - Used by the
|
||||
* vendor command QCA_NL80211_VENDOR_SUBCMD_RATEMASK_CONFIG.
|
||||
* This is used to set the rate mask value to be used in rate selection.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_LIST:
|
||||
* Array of nested containing attributes
|
||||
* QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_TYPE and
|
||||
* QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_TYPE: u8, represents
|
||||
* the different phy types to which the rate mask config is to be applied.
|
||||
* The values for this attribute are referred from enum
|
||||
* qca_wlan_vendor_ratemask_params_type.
|
||||
*
|
||||
* @QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP: binary, rate mask bitmap.
|
||||
* A bit value of 1 represents rate is enabled and a value of 0
|
||||
* represents rate is disabled.
|
||||
* For HE targets, 12 bits correpond to one NSS setting.
|
||||
* b0-13 => NSS1, MCS 0-13
|
||||
* b14-27 => NSS2, MCS 0-13 and so on for other NSS.
|
||||
* For VHT targets, 10 bits correspond to one NSS setting.
|
||||
* b0-9 => NSS1, MCS 0-9
|
||||
* b10-19 => NSS2, MCS 0-9 and so on for other NSS.
|
||||
* For HT targets, 8 bits correspond to one NSS setting.
|
||||
* b0-7 => NSS1, MCS 0-7
|
||||
* b8-15 => NSS2, MCS 0-7 and so on for other NSS.
|
||||
* For OFDM/CCK targets, 8 bits correspond to one NSS setting.
|
||||
*/
|
||||
|
||||
enum qca_wlan_vendor_attr_ratemask_params {
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_INVALID = 0,
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_LIST = 1,
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_TYPE = 2,
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_BITMAP = 3,
|
||||
|
||||
/* keep last */
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_AFTER_LAST,
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_MAX =
|
||||
QCA_WLAN_VENDOR_ATTR_RATEMASK_PARAMS_AFTER_LAST - 1,
|
||||
};
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user