qcacld-3.0: Update 11AX - HE IE's based on new draft - 1/4

Update HE Capabilities and HE Operation IE as per D1.3 spec.
Add new fields included in the new draft version.

Change-Id: I00e568c1889b001286abcbf4c653036b3b86ef3f
CRs-Fixed: 2092845
这个提交包含在:
Naveen Rawat
2017-09-08 15:07:53 -07:00
提交者 snandini
父节点 82ba9cbd2b
当前提交 25b76df53c
修改 3 个文件,包含 332 行新增364 行删除

查看文件

@@ -2803,7 +2803,6 @@ IE MeasurementRequest (EID_MEAS_REQUEST) // 7.3.2.21
}
const SUB_EID_PPET = 1;
const SUB_EID_VHT_INFO = 2;
IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
{
@@ -2836,7 +2835,10 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
bsrp_ampdu_aggr:1;
qtp:1;
a_bqr:1;
reserved1:5;
sr_responder:1;
ndp_feedback_supp:1;
ops_supp:1;
reserved1:2;
}
{
dual_band:1;
@@ -2844,9 +2846,10 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
rx_pream_puncturing:4;
device_class:1;
ldpc_coding:1;
he_ltf_gi_ppdu:2;
he_ltf_gi_ndp:2;
stbc:2;
he_1x_ltf_800_gi_ppdu:1;
reserved:2;
he_4x_ltf_3200_gi_ndp:1;
stbc_lt_80mhz:2;
doppler:2;
ul_mu:2;
dcm_enc_tx:3;
@@ -2858,9 +2861,7 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
su_beamformee:1;
mu_beamformer:1;
bfee_sts_lt_80:3;
nsts_tol_lt_80:3;
bfee_sta_gt_80:3;
nsts_tot_gt_80:3;
bfee_sts_gt_80:3;
num_sounding_lt_80:3;
num_sounding_gt_80:3;
su_feedback_tone16:1;
@@ -2873,9 +2874,12 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
ppet_present:1;
srp:1;
power_boost:1;
he_ltf_800_gi_4x:1;
max_nc:3;
stbc_gt_80mhz:2;
}
{
he_ltf_gi_4x:1;
er_he_ltf_800_gi_4x:1;
reserved2:7;
}
{
@@ -2895,13 +2899,6 @@ IE vendor_he_cap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x01)
}
}
IE vht_info(SUB_EID_VHT_INFO)
{
chan_width, 1;
center_freq_seg0, 1;
center_freq_seg1, 1;
}
IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02)
{
{
@@ -2910,13 +2907,30 @@ IE vendor_he_op (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x02)
twt_required: 1;
rts_threshold: 10;
partial_bss_col: 1;
maxbssid_ind: 8;
vht_oper_present: 1;
reserved1: 6;
mbssid_ap: 1;
tx_bssid_ind: 1;
bss_col_disabled: 1;
dual_beacon: 1;
reserved2: 1;
}
basic_mcs_nss[3];
MANDIE IE vht_info;
OPTIONAL UNION vht_oper (DISCRIMINATOR vht_oper_present)
{
info (vht_oper_present IS 1)
{
chan_width, 1;
center_freq_seg0, 1;
center_freq_seg1, 1;
}
};
OPTIONAL UNION maxbssid_ind (DISCRIMINATOR mbssid_ap)
{
info (mbssid_ap IS 1)
{
data, 1;
}
};
}
IE mu_edca_param_set (EID_VENDOR_SPECIFIC) OUI (0x00, 0x13, 0x74, 0x04)

查看文件

@@ -35,7 +35,7 @@
*
*
* This file was automatically generated by 'framesc'
* Tue Oct 10 16:54:18 2017 from the following file(s):
* Thu Oct 12 13:47:01 2017 from the following file(s):
*
* dot11f.frms
*
@@ -4187,47 +4187,6 @@ uint32_t dot11f_get_packed_ie_tgt_mac_addr(
}; /* End extern "C". */
#endif /* C++ */
/* EID 2 (0x02) */
typedef struct sDot11fIEvht_info {
uint8_t present;
uint8_t chan_width;
uint8_t center_freq_seg0;
uint8_t center_freq_seg1;
} tDot11fIEvht_info;
#define DOT11F_EID_VHT_INFO (2)
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_VHT_INFO_MIN_LEN (3)
#define DOT11F_IE_VHT_INFO_MAX_LEN (3)
#ifdef __cplusplus
extern "C" {
#endif /* C++ */
uint32_t dot11f_unpack_ie_vht_info(
tpAniSirGlobal,
uint8_t *,
uint32_t,
tDot11fIEvht_info*,
bool);
uint32_t dot11f_pack_ie_vht_info(
tpAniSirGlobal,
tDot11fIEvht_info *,
uint8_t *,
uint32_t,
uint32_t*);
uint32_t dot11f_get_packed_ie_vht_info(
tpAniSirGlobal,
tDot11fIEvht_info *,
uint32_t*);
#ifdef __cplusplus
}; /* End extern "C". */
#endif /* C++ */
/* EID 195 (0xc3) */
typedef struct sDot11fIEvht_transmit_power_env {
uint8_t present;
@@ -8694,7 +8653,7 @@ extern "C" {
uint32_t dot11f_unpack_ie_fragment_ie(
tpAniSirGlobal,
uint8_t *,
uint8_t,
uint32_t,
tDot11fIEfragment_ie*,
bool);
@@ -9024,15 +8983,19 @@ typedef struct sDot11fIEvendor_he_cap {
uint8_t bsrp_ampdu_aggr:1;
uint8_t qtp:1;
uint8_t a_bqr:1;
uint8_t reserved1:5;
uint8_t sr_responder:1;
uint8_t ndp_feedback_supp:1;
uint8_t ops_supp:1;
uint8_t reserved1:2;
uint32_t dual_band:1;
uint32_t chan_width:7;
uint32_t rx_pream_puncturing:4;
uint32_t device_class:1;
uint32_t ldpc_coding:1;
uint32_t he_ltf_gi_ppdu:2;
uint32_t he_ltf_gi_ndp:2;
uint32_t stbc:2;
uint32_t he_1x_ltf_800_gi_ppdu:1;
uint32_t reserved:2;
uint32_t he_4x_ltf_3200_gi_ndp:1;
uint32_t stbc_lt_80mhz:2;
uint32_t doppler:2;
uint32_t ul_mu:2;
uint32_t dcm_enc_tx:3;
@@ -9042,9 +9005,7 @@ typedef struct sDot11fIEvendor_he_cap {
uint32_t su_beamformee:1;
uint32_t mu_beamformer:1;
uint32_t bfee_sts_lt_80:3;
uint32_t nsts_tol_lt_80:3;
uint32_t bfee_sta_gt_80:3;
uint32_t nsts_tot_gt_80:3;
uint32_t bfee_sts_gt_80:3;
uint32_t num_sounding_lt_80:3;
uint32_t num_sounding_gt_80:3;
uint32_t su_feedback_tone16:1;
@@ -9057,7 +9018,10 @@ typedef struct sDot11fIEvendor_he_cap {
uint32_t ppet_present:1;
uint32_t srp:1;
uint32_t power_boost:1;
uint8_t he_ltf_gi_4x:1;
uint32_t he_ltf_800_gi_4x:1;
uint32_t max_nc:3;
uint32_t stbc_gt_80mhz:2;
uint8_t er_he_ltf_800_gi_4x:1;
uint8_t reserved2:7;
uint16_t nss_supported:3;
uint16_t mcs_supported:3;
@@ -9101,18 +9065,31 @@ uint32_t dot11f_get_packed_ie_vendor_he_cap(
/* EID 221 (0xdd) {OUI 0x00, 0x13, 0x74, 0x02} */
typedef struct sDot11fIEvendor_he_op {
uint8_t present;
uint32_t bss_color:6;
uint32_t default_pe:3;
uint32_t twt_required:1;
uint32_t rts_threshold:10;
uint32_t partial_bss_col:1;
uint32_t maxbssid_ind:8;
uint32_t tx_bssid_ind:1;
uint32_t bss_col_disabled:1;
uint32_t dual_beacon:1;
uint8_t basic_mcs_nss[3];
tDot11fIEvht_info vht_info;
uint8_t present;
uint32_t bss_color:6;
uint32_t default_pe:3;
uint32_t twt_required:1;
uint32_t rts_threshold:10;
uint32_t partial_bss_col:1;
uint32_t vht_oper_present:1;
uint32_t reserved1:6;
uint32_t mbssid_ap:1;
uint32_t tx_bssid_ind:1;
uint32_t bss_col_disabled:1;
uint32_t reserved2:1;
uint8_t basic_mcs_nss[3];
union {
struct {
uint8_t chan_width;
uint8_t center_freq_seg0;
uint8_t center_freq_seg1;
} info; /* vht_oper_present = 1 */
} vht_oper;
union {
struct {
uint8_t data;
} info; /* mbssid_ap = 1 */
} maxbssid_ind;
} tDot11fIEvendor_he_op;
#define DOT11F_EID_VENDOR_HE_OP (221)
@@ -9120,7 +9097,7 @@ typedef struct sDot11fIEvendor_he_op {
/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_VENDOR_HE_OP_MIN_LEN (11)
#define DOT11F_IE_VENDOR_HE_OP_MAX_LEN (16)
#define DOT11F_IE_VENDOR_HE_OP_MAX_LEN (15)
#ifdef __cplusplus
extern "C" {

文件差异内容过多而无法显示 加载差异