diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-04-25 09:43:30 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-04-25 09:43:30 -0700 |
| commit | e40b6ca1aa519d16036c6fdca162467eae4e08f6 (patch) | |
| tree | 2f855c8a5f3a9d57c83ef7e9f4317d5cd3a595ef | |
| parent | dd13f55657342047d3c21f2c233e52074282a5f4 (diff) | |
| parent | e4184aa932d38a0816bfaf7056b5d575421cf1d3 (diff) | |
Merge "qcacld-2.0: CL 2951945 - update fw common interface files" into wlan-cld2.driver.lnx.1.0-dev
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 82 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 |
3 files changed, 81 insertions, 7 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index adbc614ebb51..9444dce16731 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -810,6 +810,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_offchan_data_tx_compl_event_fixed_param, WMITLV_TAG_STRUC_wmi_offchan_data_tx_send_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_tx_send_params, + WMITLV_TAG_STRUC_wmi_he_rate_set, } WMITLV_TAG_ID; /* @@ -1719,7 +1720,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param, wmi_peer_assoc_complete_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_legacy_rates, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_ht_rates, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vht_rate_set, wmi_vht_rate_set, peer_vht_rates, WMITLV_SIZE_FIX) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vht_rate_set, wmi_vht_rate_set, peer_vht_rates, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_he_rates, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID); diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 85c4b47d3682..56d947a6c1b8 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -1741,6 +1741,12 @@ WMI_CHANNEL_CHANGE_CAUSE_CSA, #define WMI_HE_FRAG_SUPPORT_MASK 0x00000018 #define WMI_HE_FRAG_SUPPORT_SHIFT 3 +/* Interested readers refer to Rx/Tx MCS Map definition as defined in 802.11ax + */ +#define WMI_HE_MAX_MCS_4_SS_MASK(r,ss) ((7 & (r)) << ((((ss) - 1) << 1)+((ss) - 1))) +#define WMI_HE_MAX_SUPP_RATE_MASK 0x1f000000 +#define WMI_HE_MAX_SUPP_RATE_MASK_SHIFT 24 + /* fragmentation support field value */ enum { WMI_HE_FRAG_SUPPORT_LEVEL0, /* No Fragmentation support */ @@ -6672,7 +6678,7 @@ typedef struct { /*DEPRECATED - USE WMI_HECAP_PHY_BFMENLTSGT80MHZ*/ #define WMI_HECAP_PHY_SUBFMESTS_GET(he_cap_phy) WMI_HECAP_PHY_BFMESTSLT80MHZ_GET(he_cap_phy) -#define WMI_HECAP_PHY_SUBFMESTS_SET(he_cap_phy, value) WMI_HECAP_PHY_BFMESTSLT80MHZ_GET(he_cap_phy, value) +#define WMI_HECAP_PHY_SUBFMESTS_SET(he_cap_phy, value) WMI_HECAP_PHY_BFMESTSLT80MHZ_SET(he_cap_phy, value) /*DEPRECATED - use WMI_HECAP_PHY_PETHRESPRESENT**/ #define WMI_HECAP_PHY_PADDING_GET(he_cap_phy) WMI_HECAP_PHY_PETHRESPRESENT_GET(he_cap_phy) @@ -6680,7 +6686,7 @@ typedef struct { /**DO NOT USE - DEPRECATED*/ -#define WMI_HECAP_PHY_DLOFMAMUMIMO_GET(he_cap_phy) {0} +#define WMI_HECAP_PHY_DLOFMAMUMIMO_GET(he_cap_phy) (0) #define WMI_HECAP_PHY_DLOFDMAMUMIO_SET(he_cap_phy, value) {;} /*DO NOT USE - DEPRECATED**/ @@ -8609,6 +8615,45 @@ typedef struct { A_UINT32 tx_max_mcs_nss; /* b0-b3: max mcs idx; b4-b7: max nss */ }wmi_vht_rate_set; +/* NOTE: It would bea good idea to represent the Tx MCS + * info in one word and Rx in another word. This is split + * into multiple words for convenience + * currently this is being defined in IEEE802.11ax so this is same as wmi_vht_rate_set and is sub change in future and may include BW as well + */ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_he_rate_set */ + /* HE Supported MCS Set field Rx + * - 3 bits are used for each NSS chain.Max of 8 NSS can be encoded with + * bit 2-0 indicating max HE MCS of NSS1 + * bit 5-3 indicating max HE MCS of NSS2 and so on + * - The max HE-MCS for n SS subfield (where n = 1,...,8) is encoded as follows + * - 0 indicates support for VHT-MCS 0-7 for n spatial streams + * - 1 indicates support for VHT-MCS 0-8 for n spatial streams + * - 2 indicates support for VHT-MCS 0-9 for n spatial streams + * - 3 indicates support for VHT-MCS 0-10 for n spatial streams + * - 4 indicates support for VHT-MCS 0-11 for n spatial streams + * - 5-6 reserved + * - 7 indicates that n spatial streams is not supported + * - WMI_HE_MAX_MCS_4_SS_MASK macro can be used for encoding this info + */ + A_UINT32 rx_mcs_set; /* Negotiated RX VHT rates (i.e. rate this node can RX from peer)*/ + /* HE Supported MCS Set field Tx + * - 3 bits are used for each NSS chain.Max of 8 NSS can be encoded with + * bit 2-0 indicating max HE MCS of NSS1 + * bit 5-3 indicating max HE MCS of NSS2 and so on + * - The max HE-MCS for n SS subfield (where n = 1,...,8) is encoded as follows + * - 0 indicates support for VHT-MCS 0-7 for n spatial streams + * - 1 indicates support for VHT-MCS 0-8 for n spatial streams + * - 2 indicates support for VHT-MCS 0-9 for n spatial streams + * - 3 indicates support for VHT-MCS 0-10 for n spatial streams + * - 4 indicates support for VHT-MCS 0-11 for n spatial streams + * - 5-6 reserved + * - 7 indicates that n spatial streams is not supported + * - WMI_HE_MAX_MCS_4_SS_MASK macro can be used for encoding this info + */ + A_UINT32 tx_mcs_set; /* Negotiated TX VHT rates(i.e. rate this node can TX to peer) */ +} wmi_he_rate_set; + /* * IMPORTANT: Make sure the bit definitions here are consistent * with the ni_flags definitions in wlan_peer.h @@ -8719,12 +8764,13 @@ typedef struct { A_UINT32 peer_he_cap_info; /* protocol-defined HE / 11ax capability flags */ A_UINT32 peer_he_ops; /* HE operation contains BSS color */ A_UINT32 peer_he_cap_phy[WMI_MAX_HECAP_PHY_SIZE]; - A_UINT32 peer_he_mcs; /* HE MCS/NSS set */ + A_UINT32 peer_he_mcs; /* Indicates number of HE MCS TLV present */ /* Following this struct are the TLV's: * A_UINT8 peer_legacy_rates[]; * A_UINT8 peer_ht_rates[]; * wmi_vht_rate_set peer_vht_rates; //VHT capabilties of the peer + * WMI_he_rate_set_peer_he_rates; <-- HE capabilities of the peer */ } wmi_peer_assoc_complete_cmd_fixed_param; @@ -18074,7 +18120,20 @@ typedef struct { A_UINT32 vht_supp_mcs_2G; /*HE capability info field of 802.11ax, WMI_HE_CAP defines */ A_UINT32 he_cap_info_2G; - /* HE Supported MCS Set field Rx/Tx same */ + /* HE Supported MCS Set field Rx/Tx same + * - 3 bits are used for each NSS chain.Max of 8 NSS can be encoded with + * bit 2-0 indicating max HE MCS of NSS1 + * bit 5-3 indicating max HE MCS of NSS2 and so on + * - The max HE-MCS for n SS subfield (where n = 1,...,8) is encoded as follows + * - 0 indicates support for VHT-MCS 0-7 for n spatial streams + * - 1 indicates support for VHT-MCS 0-8 for n spatial streams + * - 2 indicates support for VHT-MCS 0-9 for n spatial streams + * - 3 indicates support for VHT-MCS 0-10 for n spatial streams + * - 4 indicates support for VHT-MCS 0-11 for n spatial streams + * - 5-6 reserved + * - 7 indicates that n spatial streams is not supported + * - WMI_HE_MAX_MCS_4_SS_MASK macro can be used for encoding this info + */ A_UINT32 he_supp_mcs_2G; /* Valid Transmit chain mask */ A_UINT32 tx_chain_mask_2G; @@ -18095,7 +18154,20 @@ typedef struct { A_UINT32 vht_supp_mcs_5G; /*HE capability info field of 802.11ax, WMI_HE_CAP defines */ A_UINT32 he_cap_info_5G; - /* HE Supported MCS Set field Rx/Tx same */ + /* HE Supported MCS Set field Rx/Tx same + * - 3 bits are used for each NSS chain.Max of 8 NSS can be encoded with + * bit 2-0 indicating max HE MCS of NSS1 + * bit 5-3 indicating max HE MCS of NSS2 and so on + * - The max HE-MCS for n SS subfield (where n = 1,...,8) is encoded as follows + * - 0 indicates support for VHT-MCS 0-7 for n spatial streams + * - 1 indicates support for VHT-MCS 0-8 for n spatial streams + * - 2 indicates support for VHT-MCS 0-9 for n spatial streams + * - 3 indicates support for VHT-MCS 0-10 for n spatial streams + * - 4 indicates support for VHT-MCS 0-11 for n spatial streams + * - 5-6 reserved + * - 7 indicates that n spatial streams is not supported + * - WMI_HE_MAX_MCS_4_SS_MASK macro can be used for encoding this info + */ A_UINT32 he_supp_mcs_5G; /* Valid Transmit chain mask */ A_UINT32 tx_chain_mask_5G; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 536422627ed6..6b976bc9f477 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 371 +#define __WMI_REVISION_ 372 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
