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

Update HE Capability/Operation IE based on new draft version D1.3.

Update driver changes for the frame changes made as part of
Ia295422fa697edea8a571be359f9983110bba969.

Change-Id: I22e4641e8fd15d647eb655c41c61389da8775766
CRs-Fixed: 2092845
This commit is contained in:
Naveen Rawat 2017-09-08 15:08:39 -07:00 • committed by snandini
commit d8feac152e
24 changed files with 245 additions and 172 deletions

View file

@ -55,7 +55,7 @@ void hdd_update_tgt_he_cap(struct hdd_context *hdd_ctx,
{
uint32_t ppet_size = sizeof(tDot11fIEppe_threshold);
QDF_STATUS status;
tDot11fIEvendor_he_cap *he_cap = &cfg->he_cap;
tDot11fIEhe_cap *he_cap = &cfg->he_cap;
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_CONTROL, he_cap->htc_he);
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_TWT_REQUESTOR,
@ -180,7 +180,7 @@ void wlan_hdd_check_11ax_support(struct hdd_beacon_data *beacon,
{
const uint8_t *ie;
ie = wlan_get_vendor_ie_ptr_from_oui(HE_CAP_OUI_TYPE, HE_CAP_OUI_SIZE,
ie = wlan_get_ext_ie_ptr_from_ext_id(HE_CAP_OUI_TYPE, HE_CAP_OUI_SIZE,
beacon->tail, beacon->tail_len);
if (ie)
config->SapHw_mode = eCSR_DOT11_MODE_11ax;

View file

@ -88,6 +88,7 @@
#include <wlan_reg_ucfg_api.h>
#include "wlan_utility.h"
#include <wlan_p2p_ucfg_api.h>
#include "sir_api.h"
#define IS_UP(_dev) \
(((_dev)->flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP))
@ -6674,6 +6675,42 @@ static void wlan_hdd_check_11gmode(const u8 *pIe, u8 *require_ht,
}
}
#ifdef WLAN_FEATURE_11AX
/**
* wlan_hdd_add_extn_ie() - add extension IE
* @adapter: Pointer to hostapd adapter
* @genie: Pointer to ie to be added
* @total_ielen: Pointer to store total ie length
* @oui: Pointer to oui
* @oui_size: Size of oui
*
* Return: 0 for success non-zero for failure
*/
static int wlan_hdd_add_extn_ie(struct hdd_adapter *adapter, uint8_t *genie,
uint16_t *total_ielen, uint8_t *oui,
uint8_t oui_size)
{
const uint8_t *ie;
uint16_t ielen = 0;
struct hdd_beacon_data *beacon = adapter->sessionCtx.ap.beacon;
ie = wlan_get_ext_ie_ptr_from_ext_id(oui, oui_size,
beacon->tail,
beacon->tail_len);
if (ie) {
ielen = ie[1] + 2;
if ((*total_ielen + ielen) <= MAX_GENIE_LEN) {
qdf_mem_copy(&genie[*total_ielen], ie, ielen);
} else {
hdd_err("**Ie Length is too big***");
return -EINVAL;
}
*total_ielen += ielen;
}
return 0;
}
#endif
/**
* wlan_hdd_add_hostapd_conf_vsie() - configure Vendor IE in sap mode
* @adapter: Pointer to hostapd adapter
@ -6918,6 +6955,41 @@ static void wlan_hdd_add_sap_obss_scan_ie(
}
#endif
/**
* wlan_hdd_cfg80211_update_apies() - update ap mode 11ax ies
* @adapter: Pointer to hostapd adapter
* @genie: generic IE buffer
* @total_ielen: out param to update total ielen
*
* Return: 0 for success non-zero for failure
*/
#ifdef WLAN_FEATURE_11AX
static int hdd_update_11ax_apies(struct hdd_adapter *adapter,
uint8_t *genie, uint16_t *total_ielen)
{
if (wlan_hdd_add_extn_ie(adapter, genie, total_ielen,
HE_CAP_OUI_TYPE, HE_CAP_OUI_SIZE)) {
hdd_err("Adding HE Cap ie failed");
return -EINVAL;
}
if (wlan_hdd_add_extn_ie(adapter, genie, total_ielen,
HE_OP_OUI_TYPE, HE_OP_OUI_SIZE)) {
hdd_err("Adding HE Op ie failed");
return -EINVAL;
}
return 0;
}
#else
static int hdd_update_11ax_apies(struct hdd_adapter *adapter,
uint8_t *genie, uint16_t *total_ielen)
{
return 0;
}
#endif
/**
* wlan_hdd_cfg80211_update_apies() - update ap mode ies
* @adapter: Pointer to hostapd adapter
@ -6963,6 +7035,10 @@ int wlan_hdd_cfg80211_update_apies(struct hdd_adapter *adapter)
wlan_hdd_add_hostapd_conf_vsie(adapter, genie,
&total_ielen);
ret = hdd_update_11ax_apies(adapter, genie, &total_ielen);
if (ret)
goto done;
wlan_hdd_add_sap_obss_scan_ie(adapter, genie, &total_ielen);
qdf_copy_macaddr(&updateIE.bssid, &adapter->macAddressCurrent);

View file

@ -718,7 +718,7 @@ typedef struct sSirSmeStartBssReq {
tSirHTConfig htConfig;
struct sir_vht_config vht_config;
#ifdef WLAN_FEATURE_11AX
tDot11fIEvendor_he_cap he_config;
tDot11fIEhe_cap he_config;
#endif
#ifdef WLAN_FEATURE_11W
bool pmfCapable;
@ -1233,7 +1233,7 @@ typedef struct sSirSmeJoinReq {
tSirHTConfig htConfig;
struct sir_vht_config vht_config;
#ifdef WLAN_FEATURE_11AX
tDot11fIEvendor_he_cap he_config;
tDot11fIEhe_cap he_config;
#endif
uint8_t enableVhtpAid;
uint8_t enableVhtGid;
@ -7526,10 +7526,10 @@ struct wow_enable_params {
};
#ifdef WLAN_FEATURE_11AX
#define HE_CAP_OUI_TYPE "\x00\x13\x74\x01"
#define HE_CAP_OUI_SIZE 4
#define HE_OP_OUI_TYPE "\x00\x13\x74\x02"
#define HE_OP_OUI_SIZE 4
#define HE_CAP_OUI_TYPE "\x23"
#define HE_CAP_OUI_SIZE 1
#define HE_OP_OUI_TYPE "\x24"
#define HE_OP_OUI_SIZE 1
/* HE Op Mask is based on the HE Operation definition in the D1.0 spec */
#define HE_OP_BSS_COLOR_MASK (0x3F << 0)

View file

@ -269,7 +269,7 @@ typedef struct sDphHashNode {
uint8_t non_ecsa_capable;
#ifdef WLAN_FEATURE_11AX
tDot11fIEvendor_he_cap he_config;
tDot11fIEhe_cap he_config;
#endif
/*

View file

@ -282,8 +282,8 @@ typedef struct sSirProbeRespBeacon {
bool assoc_disallowed;
uint8_t assoc_disallowed_reason;
tSirQCNIE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
tDot11fIEbss_color_change vendor_he_bss_color_change;
#endif
@ -305,7 +305,7 @@ typedef struct sSirProbeReq {
uint8_t wscIePresent;
uint8_t p2pIePresent;
tDot11fIEVHTCaps VHTCaps;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEhe_cap he_cap;
} tSirProbeReq, *tpSirProbeReq;
/* / Association Request structure (one day to be replaced by */
@ -359,7 +359,7 @@ typedef struct sSirAssocReq {
tDot11fIEExtCap ExtCap;
tDot11fIEvendor_vht_ie vendor_vht_ie;
tDot11fIEhs20vendor_ie hs20vendor_ie;
tDot11fIEvendor_he_cap he_cap;
tDot11fIEhe_cap he_cap;
} tSirAssocReq, *tpSirAssocReq;
/* / Association Response structure (one day to be replaced by */
@ -412,8 +412,8 @@ typedef struct sSirAssocRsp {
tDot11fIEOBSSScanParameters obss_scanparams;
tDot11fTLVrssi_assoc_rej rssi_assoc_rej;
tSirQCNIE QCN_IE;
tDot11fIEvendor_he_cap vendor_he_cap;
tDot11fIEvendor_he_op vendor_he_op;
tDot11fIEhe_cap he_cap;
tDot11fIEhe_op he_op;
#ifdef WLAN_FEATURE_FILS_SK
tDot11fIEfils_session fils_session;
tDot11fIEfils_key_confirmation fils_key_auth;
@ -1155,9 +1155,9 @@ void update_fils_data(struct sir_fils_indication *fils_ind,
#endif
#ifdef WLAN_FEATURE_11AX
QDF_STATUS populate_dot11f_he_caps(tpAniSirGlobal , tpPESession ,
tDot11fIEvendor_he_cap *);
tDot11fIEhe_cap *);
QDF_STATUS populate_dot11f_he_operation(tpAniSirGlobal , tpPESession ,
tDot11fIEvendor_he_op *);
tDot11fIEhe_op *);
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
QDF_STATUS populate_dot11f_he_bss_color_change(tpAniSirGlobal mac_ctx,
tpPESession session,
@ -1173,13 +1173,13 @@ static inline QDF_STATUS populate_dot11f_he_bss_color_change(
#endif
#else
static inline QDF_STATUS populate_dot11f_he_caps(tpAniSirGlobal mac_ctx,
tpPESession session, tDot11fIEvendor_he_cap *he_cap)
tpPESession session, tDot11fIEhe_cap *he_cap)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS populate_dot11f_he_operation(tpAniSirGlobal mac_ctx,
tpPESession session, tDot11fIEvendor_he_op *he_op)
tpPESession session, tDot11fIEhe_op *he_op)
{
return QDF_STATUS_SUCCESS;
}

View file

@ -506,8 +506,8 @@ typedef struct sPESession /* Added to Support BT-AMP */
uint8_t lim_non_ecsa_cap_num;
#ifdef WLAN_FEATURE_11AX
bool he_capable;
tDot11fIEvendor_he_cap he_config;
tDot11fIEvendor_he_op he_op;
tDot11fIEhe_cap he_config;
tDot11fIEhe_op he_op;
uint32_t he_sta_obsspd;
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
tDot11fIEbss_color_change he_bss_color_change;

View file

@ -1499,7 +1499,7 @@ lim_populate_own_rate_set(tpAniSirGlobal mac_ctx,
tpSirSupportedRates rates, uint8_t *supported_mcs_set,
uint8_t basic_only, tpPESession session_entry,
struct sDot11fIEVHTCaps *vht_caps,
struct sDot11fIEvendor_he_cap *he_caps)
struct sDot11fIEhe_cap *he_caps)
{
tSirMacRateSet temp_rate_set;
tSirMacRateSet temp_rate_set2;
@ -1642,7 +1642,7 @@ tSirRetStatus
lim_populate_peer_rate_set(tpAniSirGlobal pMac,
tpSirSupportedRates pRates, uint8_t *pSupportedMCSSet,
uint8_t basicOnly, tpPESession psessionEntry,
tDot11fIEVHTCaps *pVHTCaps, tDot11fIEvendor_he_cap *he_caps)
tDot11fIEVHTCaps *pVHTCaps, tDot11fIEhe_cap *he_caps)
{
tSirMacRateSet tempRateSet;
tSirMacRateSet tempRateSet2;
@ -1827,7 +1827,7 @@ tSirRetStatus lim_populate_matching_rate_set(tpAniSirGlobal mac_ctx,
uint8_t *supported_mcs_set,
tpPESession session_entry,
tDot11fIEVHTCaps *vht_caps,
tDot11fIEvendor_he_cap *he_caps)
tDot11fIEhe_cap *he_caps)
{
tSirMacRateSet temp_rate_set;
tSirMacRateSet temp_rate_set2;
@ -3700,7 +3700,7 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
pAddBssParams->ch_center_freq_seg1);
if (lim_is_session_he_capable(psessionEntry) &&
(pAssocRsp->vendor_he_cap.present)) {
(pAssocRsp->he_cap.present)) {
lim_add_bss_he_cap(pAddBssParams, pAssocRsp);
lim_add_bss_he_cfg(pAddBssParams, psessionEntry);
}
@ -3785,7 +3785,7 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
sta_context->enable_su_tx_bformer = 1;
}
if (lim_is_session_he_capable(psessionEntry) &&
pAssocRsp->vendor_he_cap.present)
pAssocRsp->he_cap.present)
lim_intersect_ap_he_caps(psessionEntry, pAddBssParams,
NULL, pAssocRsp);
@ -4245,7 +4245,7 @@ tSirRetStatus lim_sta_send_add_bss_pre_assoc(tpAniSirGlobal pMac, uint8_t update
}
if (lim_is_session_he_capable(psessionEntry) &&
pBeaconStruct->vendor_he_cap.present) {
pBeaconStruct->he_cap.present) {
lim_update_bss_he_capable(pMac, pAddBssParams);
lim_add_bss_he_cfg(pAddBssParams, psessionEntry);
}
@ -4322,7 +4322,7 @@ tSirRetStatus lim_sta_send_add_bss_pre_assoc(tpAniSirGlobal pMac, uint8_t update
pAddBssParams->staContext.enable_su_tx_bformer);
}
if (lim_is_session_he_capable(psessionEntry) &&
pBeaconStruct->vendor_he_cap.present)
pBeaconStruct->he_cap.present)
lim_intersect_ap_he_caps(psessionEntry, pAddBssParams,
pBeaconStruct, NULL);
@ -4440,7 +4440,7 @@ tSirRetStatus lim_sta_send_add_bss_pre_assoc(tpAniSirGlobal pMac, uint8_t update
pBeaconStruct->HTCaps.supportedMCSSet,
false, psessionEntry,
&pBeaconStruct->VHTCaps,
&pBeaconStruct->vendor_he_cap);
&pBeaconStruct->he_cap);
pAddBssParams->staContext.encryptType = psessionEntry->encryptType;

View file

@ -71,7 +71,7 @@ tSirRetStatus lim_populate_peer_rate_set(tpAniSirGlobal pMac,
uint8_t basicOnly,
tpPESession psessionEntry,
tDot11fIEVHTCaps *pVHTCaps,
tDot11fIEvendor_he_cap *he_caps);
tDot11fIEhe_cap *he_caps);
tSirRetStatus lim_populate_own_rate_set(tpAniSirGlobal pMac,
tpSirSupportedRates pRates,
@ -79,7 +79,7 @@ tSirRetStatus lim_populate_own_rate_set(tpAniSirGlobal pMac,
uint8_t basicOnly,
tpPESession psessionEntry,
tDot11fIEVHTCaps *pVHTCaps,
tDot11fIEvendor_he_cap *he_caps);
tDot11fIEhe_cap *he_caps);
tSirRetStatus
lim_populate_matching_rate_set(tpAniSirGlobal pMac,
@ -89,7 +89,7 @@ lim_populate_matching_rate_set(tpAniSirGlobal pMac,
uint8_t *pSupportedMCSSet,
tpPESession psessionEntry,
tDot11fIEVHTCaps *pVHTCaps,
tDot11fIEvendor_he_cap *he_caps);
tDot11fIEhe_cap *he_caps);
tSirRetStatus lim_add_sta(tpAniSirGlobal, tpDphHashNode, uint8_t, tpPESession);
tSirRetStatus lim_del_bss(tpAniSirGlobal, tpDphHashNode, uint16_t, tpPESession);

View file

@ -375,7 +375,7 @@ void lim_ft_prepare_add_bss_req(tpAniSirGlobal pMac,
sta_ctx->enable_su_tx_bformer = 1;
}
if (lim_is_session_he_capable(pftSessionEntry) &&
pBeaconStruct->vendor_he_cap.present)
pBeaconStruct->he_cap.present)
lim_intersect_ap_he_caps(pftSessionEntry,
pAddBssParams, pBeaconStruct, NULL);
@ -439,7 +439,7 @@ void lim_ft_prepare_add_bss_req(tpAniSirGlobal pMac,
pBeaconStruct->HTCaps.supportedMCSSet,
false, pftSessionEntry,
&pBeaconStruct->VHTCaps,
&pBeaconStruct->vendor_he_cap);
&pBeaconStruct->he_cap);
}
pAddBssParams->maxTxPower = pftSessionEntry->maxTxPower;

View file

@ -154,7 +154,7 @@ void lim_update_assoc_sta_datas(tpAniSirGlobal mac_ctx,
uint32_t phy_mode;
bool qos_mode;
tDot11fIEVHTCaps *vht_caps = NULL;
tDot11fIEvendor_he_cap *he_cap = NULL;
tDot11fIEhe_cap *he_cap = NULL;
lim_get_phy_mode(mac_ctx, &phy_mode, session_entry);
sta_ds->staType = STA_ENTRY_SELF;
@ -202,7 +202,7 @@ void lim_update_assoc_sta_datas(tpAniSirGlobal mac_ctx,
lim_update_stads_he_caps(sta_ds, assoc_rsp, session_entry);
if (lim_is_sta_he_capable(sta_ds))
he_cap = &assoc_rsp->vendor_he_cap;
he_cap = &assoc_rsp->he_cap;
if (lim_populate_peer_rate_set(mac_ctx, &sta_ds->supportedRates,
assoc_rsp->HTCaps.supportedMCSSet,

View file

@ -315,7 +315,7 @@ void lim_send_reassoc_req_with_ft_ies_mgmt_frame(tpAniSirGlobal mac_ctx,
if (lim_is_session_he_capable(pe_session)) {
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, pe_session,
&frm.vendor_he_cap);
&frm.he_cap);
}
status = dot11f_get_packed_re_assoc_request_size(mac_ctx, &frm,
@ -688,7 +688,7 @@ void lim_send_reassoc_req_mgmt_frame(tpAniSirGlobal pMac,
if (lim_is_session_he_capable(psessionEntry)) {
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(pMac, psessionEntry,
&frm.vendor_he_cap);
&frm.he_cap);
}
nStatus =

View file

@ -357,7 +357,7 @@ lim_send_probe_req_mgmt_frame(tpAniSirGlobal mac_ctx,
lim_update_session_he_capable(mac_ctx, pesession);
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, pesession, &pr.vendor_he_cap);
populate_dot11f_he_caps(mac_ctx, pesession, &pr.he_cap);
if (addn_ielen) {
qdf_mem_zero((uint8_t *)&extracted_ext_cap,
@ -690,9 +690,9 @@ lim_send_probe_rsp_mgmt_frame(tpAniSirGlobal mac_ctx,
if (lim_is_session_he_capable(pe_session)) {
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, pe_session,
&frm->vendor_he_cap);
&frm->he_cap);
populate_dot11f_he_operation(mac_ctx, pe_session,
&frm->vendor_he_op);
&frm->he_op);
}
populate_dot11f_ext_cap(mac_ctx, is_vht_enabled, &frm->ExtCap,
@ -1262,9 +1262,9 @@ lim_send_assoc_rsp_mgmt_frame(tpAniSirGlobal mac_ctx,
lim_is_session_he_capable(pe_session)) {
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, pe_session,
&frm.vendor_he_cap);
&frm.he_cap);
populate_dot11f_he_operation(mac_ctx, pe_session,
&frm.vendor_he_op);
&frm.he_op);
}
#ifdef WLAN_FEATURE_11W
if (eSIR_MAC_TRY_AGAIN_LATER == status_code) {
@ -1873,7 +1873,7 @@ lim_send_assoc_req_mgmt_frame(tpAniSirGlobal mac_ctx,
if (lim_is_session_he_capable(pe_session)) {
pe_debug("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, pe_session,
&frm->vendor_he_cap);
&frm->he_cap);
}
if (pe_session->pLimJoinReq->is11Rconnection) {

View file

@ -5911,7 +5911,7 @@ bool lim_check_vht_op_mode_change(tpAniSirGlobal pMac, tpPESession psessionEntry
bool lim_send_he_ie_update(tpAniSirGlobal mac_ctx, tpPESession pe_session)
{
uint32_t he_ops = 0;
tDot11fIEvendor_he_op *he_op = &pe_session->he_op;
tDot11fIEhe_op *he_op = &pe_session->he_op;
QDF_STATUS status;
WMI_HEOPS_COLOR_SET(he_ops, he_op->bss_color);
@ -7217,9 +7217,9 @@ void lim_add_self_he_cap(tpAddStaParams add_sta_params, tpPESession session)
*
* Return: None
*/
static void lim_intersect_he_caps(tDot11fIEvendor_he_cap *rcvd_he,
tDot11fIEvendor_he_cap *session_he,
tDot11fIEvendor_he_cap *peer_he)
static void lim_intersect_he_caps(tDot11fIEhe_cap *rcvd_he,
tDot11fIEhe_cap *session_he,
tDot11fIEhe_cap *peer_he)
{
uint8_t val;
@ -7278,9 +7278,9 @@ static void lim_intersect_he_caps(tDot11fIEvendor_he_cap *rcvd_he,
void lim_intersect_sta_he_caps(tpSirAssocReq assoc_req, tpPESession session,
tpDphHashNode sta_ds)
{
tDot11fIEvendor_he_cap *rcvd_he = &assoc_req->he_cap;
tDot11fIEvendor_he_cap *session_he = &session->he_config;
tDot11fIEvendor_he_cap *peer_he = &sta_ds->he_config;
tDot11fIEhe_cap *rcvd_he = &assoc_req->he_cap;
tDot11fIEhe_cap *session_he = &session->he_config;
tDot11fIEhe_cap *peer_he = &sta_ds->he_config;
if (sta_ds->mlmStaContext.he_capable)
lim_intersect_he_caps(rcvd_he, session_he, peer_he);
@ -7289,14 +7289,14 @@ void lim_intersect_sta_he_caps(tpSirAssocReq assoc_req, tpPESession session,
void lim_intersect_ap_he_caps(tpPESession session, tpAddBssParams add_bss,
tSchBeaconStruct *beacon, tpSirAssocRsp assoc_rsp)
{
tDot11fIEvendor_he_cap *rcvd_he;
tDot11fIEvendor_he_cap *session_he = &session->he_config;
tDot11fIEvendor_he_cap *peer_he = &add_bss->staContext.he_config;
tDot11fIEhe_cap *rcvd_he;
tDot11fIEhe_cap *session_he = &session->he_config;
tDot11fIEhe_cap *peer_he = &add_bss->staContext.he_config;
if (beacon)
rcvd_he = &beacon->vendor_he_cap;
rcvd_he = &beacon->he_cap;
else
rcvd_he = &assoc_rsp->vendor_he_cap;
rcvd_he = &assoc_rsp->he_cap;
lim_intersect_he_caps(rcvd_he, session_he, peer_he);
add_bss->staContext.he_capable = true;
@ -7304,11 +7304,11 @@ void lim_intersect_ap_he_caps(tpPESession session, tpAddBssParams add_bss,
void lim_add_bss_he_cap(tpAddBssParams add_bss, tpSirAssocRsp assoc_rsp)
{
tDot11fIEvendor_he_cap *he_cap;
tDot11fIEvendor_he_op *he_op;
tDot11fIEhe_cap *he_cap;
tDot11fIEhe_op *he_op;
he_cap = &assoc_rsp->vendor_he_cap;
he_op = &assoc_rsp->vendor_he_op;
he_cap = &assoc_rsp->he_cap;
he_op = &assoc_rsp->he_op;
add_bss->he_capable = he_cap->present;
if (he_cap)
qdf_mem_copy(&add_bss->staContext.he_config,
@ -7326,9 +7326,9 @@ void lim_add_bss_he_cfg(tpAddBssParams add_bss, tpPESession session)
void lim_update_stads_he_caps(tpDphHashNode sta_ds, tpSirAssocRsp assoc_rsp,
tpPESession session_entry)
{
tDot11fIEvendor_he_cap *he_cap;
tDot11fIEhe_cap *he_cap;
he_cap = &assoc_rsp->vendor_he_cap;
he_cap = &assoc_rsp->he_cap;
sta_ds->mlmStaContext.he_capable = he_cap->present;
if (!he_cap->present)
@ -7343,13 +7343,12 @@ void lim_update_usr_he_cap(tpAniSirGlobal mac_ctx, tpPESession session)
const uint8_t *vendor_ie;
const uint8_t *he_cap_data;
tSirAddIeParams *add_ie = &session->addIeParams;
tDot11fIEvendor_he_cap *he_cap = &session->he_config;
tDot11fIEhe_cap *he_cap = &session->he_config;
vendor_ie = wlan_get_vendor_ie_ptr_from_oui(
vendor_ie = wlan_get_ext_ie_ptr_from_ext_id(
HE_CAP_OUI_TYPE, HE_CAP_OUI_SIZE,
add_ie->probeRespBCNData_buff,
add_ie->probeRespBCNDataLen);
if (!vendor_ie) {
pe_err("11AX: Unable to parse HE Caps");
return;
@ -7375,14 +7374,13 @@ void lim_decide_he_op(tpAniSirGlobal mac_ctx, tpAddBssParams add_bss,
{
const uint8_t *vendor_ie;
uint32_t he_op;
tDot11fIEvendor_he_op *he_ops = &add_bss->he_op;
tDot11fIEhe_op *he_ops = &add_bss->he_op;
tSirAddIeParams *add_ie = &session->addIeParams;
vendor_ie = wlan_get_vendor_ie_ptr_from_oui(
vendor_ie = wlan_get_ext_ie_ptr_from_ext_id(
HE_OP_OUI_TYPE, HE_OP_OUI_SIZE,
add_ie->probeRespBCNData_buff,
add_ie->probeRespBCNDataLen);
if (!vendor_ie) {
pe_err("11AX: Unable to parse HE Operation");
return;
@ -7428,7 +7426,7 @@ void lim_copy_join_req_he_cap(tpPESession session,
sizeof(session->he_config));
}
void lim_log_he_cap(tpAniSirGlobal mac, tDot11fIEvendor_he_cap *he_cap)
void lim_log_he_cap(tpAniSirGlobal mac, tDot11fIEhe_cap *he_cap)
{
if (!he_cap->present)
return;
@ -7557,7 +7555,7 @@ void lim_log_he_cap(tpAniSirGlobal mac, tDot11fIEvendor_he_cap *he_cap)
}
void lim_log_he_op(tpAniSirGlobal mac, tDot11fIEvendor_he_op *he_ops)
void lim_log_he_op(tpAniSirGlobal mac, tDot11fIEhe_op *he_ops)
{
pe_debug("bss_color: %0x, default_pe_duration: %0x, twt_required: %0x, rts_threshold: %0x, vht_oper_present: %0x",
he_ops->bss_color, he_ops->default_pe,
@ -7624,14 +7622,13 @@ void lim_set_he_caps(tpAniSirGlobal mac, tpPESession session, uint8_t *ie_start,
uint32_t num_bytes)
{
const uint8_t *ie = NULL;
tDot11fIEvendor_he_cap dot11_cap;
tDot11fIEhe_cap dot11_cap;
struct he_capability_info *he_cap;
populate_dot11f_he_caps(mac, session, &dot11_cap);
lim_log_he_cap(mac, &dot11_cap);
ie = wlan_get_vendor_ie_ptr_from_oui(HE_CAP_OUI_TYPE,
ie = wlan_get_ext_ie_ptr_from_ext_id(HE_CAP_OUI_TYPE,
HE_CAP_OUI_SIZE, ie_start, num_bytes);
if (ie) {
/* convert from unpacked to packed structure */
he_cap = (struct he_capability_info *) &ie[2 + HE_CAP_OUI_SIZE];
@ -7716,30 +7713,30 @@ void lim_set_he_caps(tpAniSirGlobal mac, tpPESession session, uint8_t *ie_start,
QDF_STATUS lim_send_he_caps_ie(tpAniSirGlobal mac_ctx, tpPESession session,
uint8_t vdev_id)
{
uint8_t he_caps[DOT11F_IE_VENDOR_HE_CAP_MIN_LEN + 2];
uint8_t he_caps[DOT11F_IE_HE_CAP_MIN_LEN + 2];
struct he_capability_info *he_cap;
QDF_STATUS status_5g, status_2g;
/* Sending only minimal info(no PPET) to FW now, update if required */
qdf_mem_zero(he_caps, DOT11F_IE_VENDOR_HE_CAP_MIN_LEN + 2);
he_caps[0] = DOT11F_EID_VENDOR_HE_CAP;
he_caps[1] = DOT11F_IE_VENDOR_HE_CAP_MIN_LEN;
qdf_mem_zero(he_caps, DOT11F_IE_HE_CAP_MIN_LEN + 2);
he_caps[0] = DOT11F_EID_HE_CAP;
he_caps[1] = DOT11F_IE_HE_CAP_MIN_LEN;
qdf_mem_copy(&he_caps[2], HE_CAP_OUI_TYPE, HE_CAP_OUI_SIZE);
lim_set_he_caps(mac_ctx, session, he_caps,
DOT11F_IE_VENDOR_HE_CAP_MIN_LEN + 2);
DOT11F_IE_HE_CAP_MIN_LEN + 2);
he_cap = (struct he_capability_info *) (&he_caps[2 + HE_CAP_OUI_SIZE]);
he_cap->ppet_present = 0;
status_5g = lim_send_ie(mac_ctx, vdev_id, DOT11F_EID_VENDOR_HE_CAP,
status_5g = lim_send_ie(mac_ctx, vdev_id, DOT11F_EID_HE_CAP,
CDS_BAND_5GHZ, &he_caps[2],
DOT11F_IE_VENDOR_HE_CAP_MIN_LEN);
DOT11F_IE_HE_CAP_MIN_LEN);
if (QDF_IS_STATUS_ERROR(status_5g))
pe_err("Unable send HE Cap IE for 5GHZ band, status: %d",
status_5g);
status_2g = lim_send_ie(mac_ctx, vdev_id, DOT11F_EID_VENDOR_HE_CAP,
status_2g = lim_send_ie(mac_ctx, vdev_id, DOT11F_EID_HE_CAP,
CDS_BAND_2GHZ, &he_caps[2],
DOT11F_IE_VENDOR_HE_CAP_MIN_LEN);
DOT11F_IE_HE_CAP_MIN_LEN);
if (QDF_IS_STATUS_ERROR(status_2g))
pe_err("Unable send HE Cap IE for 2GHZ band, status: %d",
status_2g);
@ -7768,7 +7765,7 @@ QDF_STATUS lim_send_he_caps_ie(tpAniSirGlobal mac_ctx, tpPESession session,
*/
QDF_STATUS lim_populate_he_mcs_set(tpAniSirGlobal mac_ctx,
tpSirSupportedRates rates,
tDot11fIEvendor_he_cap *peer_he_caps,
tDot11fIEhe_cap *peer_he_caps,
tpPESession session_entry, uint8_t nss)
{
uint32_t val;

View file

@ -875,7 +875,7 @@ void lim_copy_join_req_he_cap(tpPESession session,
*
* Return: None
*/
void lim_log_he_op(tpAniSirGlobal mac, tDot11fIEvendor_he_op *he_ops);
void lim_log_he_op(tpAniSirGlobal mac, tDot11fIEhe_op *he_ops);
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
/**
@ -902,7 +902,7 @@ void lim_log_he_bss_color(tpAniSirGlobal mac,
*
* Return: None
*/
void lim_log_he_cap(tpAniSirGlobal mac, tDot11fIEvendor_he_cap *he_cap);
void lim_log_he_cap(tpAniSirGlobal mac, tDot11fIEhe_cap *he_cap);
/**
* lim_update_stads_he_caps() - Copy HE capability into STA DPH hash table entry
@ -1033,7 +1033,7 @@ QDF_STATUS lim_send_he_caps_ie(tpAniSirGlobal mac_ctx, tpPESession session,
* Return: QDF_STATUS
*/
QDF_STATUS lim_populate_he_mcs_set(tpAniSirGlobal mac_ctx,
tpSirSupportedRates rates, tDot11fIEvendor_he_cap *peer_he_caps,
tpSirSupportedRates rates, tDot11fIEhe_cap *peer_he_caps,
tpPESession session_entry, uint8_t nss);
#else
@ -1097,12 +1097,12 @@ static inline void lim_copy_join_req_he_cap(tpPESession session,
}
static inline void lim_log_he_op(tpAniSirGlobal mac,
tDot11fIEvendor_he_op *he_ops)
tDot11fIEhe_op *he_ops)
{
}
static inline void lim_log_he_cap(tpAniSirGlobal mac,
tDot11fIEvendor_he_cap *he_cap)
tDot11fIEhe_cap *he_cap)
{
}
@ -1156,7 +1156,7 @@ static inline QDF_STATUS lim_send_he_caps_ie(tpAniSirGlobal mac_ctx,
static inline QDF_STATUS lim_populate_he_mcs_set(tpAniSirGlobal mac_ctx,
tpSirSupportedRates rates,
tDot11fIEvendor_he_cap *peer_he_caps,
tDot11fIEhe_cap *peer_he_caps,
tpPESession session_entry, uint8_t nss)
{
return QDF_STATUS_SUCCESS;

View file

@ -395,9 +395,9 @@ sch_set_fixed_beacon_fields(tpAniSirGlobal mac_ctx, tpPESession session)
if (lim_is_session_he_capable(session)) {
pe_warn("Populate HE IEs");
populate_dot11f_he_caps(mac_ctx, session,
&bcn_2->vendor_he_cap);
&bcn_2->he_cap);
populate_dot11f_he_operation(mac_ctx, session,
&bcn_2->vendor_he_op);
&bcn_2->he_op);
populate_dot11f_he_bss_color_change(mac_ctx, session,
&bcn_2->bss_color_change);
}
@ -769,19 +769,19 @@ void lim_update_probe_rsp_template_ie_bitmap_beacon2(tpAniSirGlobal pMac,
sizeof(beacon2->ExtCap));
}
if (beacon2->vendor_he_cap.present) {
if (beacon2->he_cap.present) {
set_probe_rsp_ie_bitmap(DefProbeRspIeBitmap,
DOT11F_EID_VENDOR_HE_CAP);
qdf_mem_copy((void *)&prb_rsp->vendor_he_cap,
(void *)&beacon2->vendor_he_cap,
sizeof(beacon2->vendor_he_cap));
DOT11F_EID_HE_CAP);
qdf_mem_copy((void *)&prb_rsp->he_cap,
(void *)&beacon2->he_cap,
sizeof(beacon2->he_cap));
}
if (beacon2->vendor_he_op.present) {
if (beacon2->he_op.present) {
set_probe_rsp_ie_bitmap(DefProbeRspIeBitmap,
DOT11F_EID_VENDOR_HE_OP);
qdf_mem_copy((void *)&prb_rsp->vendor_he_op,
(void *)&beacon2->vendor_he_op,
sizeof(beacon2->vendor_he_op));
DOT11F_EID_HE_OP);
qdf_mem_copy((void *)&prb_rsp->he_op,
(void *)&beacon2->he_op,
sizeof(beacon2->he_op));
}
}

View file

@ -497,7 +497,7 @@ sch_bcn_update_he_ies(tpAniSirGlobal mac_ctx, tpDphHashNode sta_ds,
uint8_t session_bss_col_disabled_flag;
bool anything_changed = false;
if (session->he_op.present && bcn->vendor_he_op.present) {
if (session->he_op.present && bcn->he_op.present) {
if (bcn->vendor_he_bss_color_change.present &&
(session->he_op.bss_color !=
bcn->vendor_he_bss_color_change.new_color)) {
@ -510,12 +510,12 @@ sch_bcn_update_he_ies(tpAniSirGlobal mac_ctx, tpDphHashNode sta_ds,
}
session_bss_col_disabled_flag = session->he_op.bss_col_disabled;
if (session_bss_col_disabled_flag !=
bcn->vendor_he_op.bss_col_disabled) {
bcn->he_op.bss_col_disabled) {
pe_debug("color disable flag changed from [%d] to [%d]",
session->he_op.bss_col_disabled,
bcn->vendor_he_op.bss_col_disabled);
bcn->he_op.bss_col_disabled);
session->he_op.bss_col_disabled =
bcn->vendor_he_op.bss_col_disabled;
bcn->he_op.bss_col_disabled;
anything_changed = true;
}
}
@ -974,8 +974,8 @@ static void sch_check_bss_color_ie(tpAniSirGlobal mac_ctx,
{
/* check bss color in the beacon */
if (ap_session->he_op.present && !ap_session->he_op.bss_color) {
if (bcn->vendor_he_op.present &&
(bcn->vendor_he_op.bss_color ==
if (bcn->he_op.present &&
(bcn->he_op.bss_color ==
ap_session->he_op.bss_color)) {
ap_session->he_op.bss_col_disabled = 1;
bcn_prm->paramChangeBitmap |=
@ -994,10 +994,10 @@ static void sch_check_bss_color_ie(tpAniSirGlobal mac_ctx,
ap_session->bss_color_changing = 1;
} else {
/* update info for the bss color */
if (bcn->vendor_he_op.present)
if (bcn->he_op.present)
ap_update_bss_color_info(mac_ctx,
ap_session,
bcn->vendor_he_op.bss_color);
bcn->he_op.bss_color);
}
}
}

View file

@ -2174,9 +2174,9 @@ sir_convert_probe_req_frame2_struct(tpAniSirGlobal pMac,
if (pr.P2PProbeReq.present) {
pProbeReq->p2pIePresent = 1;
}
if (pr.vendor_he_cap.present) {
qdf_mem_copy(&pProbeReq->vendor_he_cap, &pr.vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
if (pr.he_cap.present) {
qdf_mem_copy(&pProbeReq->he_cap, &pr.he_cap,
sizeof(tDot11fIEhe_cap));
pe_debug("11AX: HE cap IE present");
}
return eSIR_SUCCESS;
@ -2613,15 +2613,15 @@ tSirRetStatus sir_convert_probe_frame2_struct(tpAniSirGlobal pMac,
}
}
if (pr->vendor_he_cap.present) {
if (pr->he_cap.present) {
pe_debug("11AX: HE cap IE present");
qdf_mem_copy(&pProbeResp->vendor_he_cap, &pr->vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
qdf_mem_copy(&pProbeResp->he_cap, &pr->he_cap,
sizeof(tDot11fIEhe_cap));
}
if (pr->vendor_he_op.present) {
if (pr->he_op.present) {
pe_debug("11AX: HE operation IE present");
qdf_mem_copy(&pProbeResp->vendor_he_op, &pr->vendor_he_op,
sizeof(tDot11fIEvendor_he_op));
qdf_mem_copy(&pProbeResp->he_op, &pr->he_op,
sizeof(tDot11fIEhe_op));
}
qdf_mem_free(pr);
@ -2815,9 +2815,9 @@ sir_convert_assoc_req_frame2_struct(tpAniSirGlobal pMac,
lim_log_vht_cap(pMac, &pAssocReq->VHTCaps);
}
}
if (ar->vendor_he_cap.present) {
qdf_mem_copy(&pAssocReq->he_cap, &ar->vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
if (ar->he_cap.present) {
qdf_mem_copy(&pAssocReq->he_cap, &ar->he_cap,
sizeof(tDot11fIEhe_cap));
pe_debug("Received Assoc Req with HE Capability IE");
}
qdf_mem_free(ar);
@ -3139,15 +3139,15 @@ sir_convert_assoc_resp_frame2_struct(tpAniSirGlobal pMac,
lim_log_vht_operation(pMac, &pAssocRsp->VHTOperation);
}
if (ar->vendor_he_cap.present) {
if (ar->he_cap.present) {
pe_debug("11AX: HE cap IE present");
qdf_mem_copy(&pAssocRsp->vendor_he_cap, &ar->vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
qdf_mem_copy(&pAssocRsp->he_cap, &ar->he_cap,
sizeof(tDot11fIEhe_cap));
}
if (ar->vendor_he_op.present) {
if (ar->he_op.present) {
pe_debug("11AX: HE Operation IE present");
qdf_mem_copy(&pAssocRsp->vendor_he_op, &ar->vendor_he_op,
sizeof(tDot11fIEvendor_he_op));
qdf_mem_copy(&pAssocRsp->he_op, &ar->he_op,
sizeof(tDot11fIEhe_op));
}
if (ar->MBO_IE.present && ar->MBO_IE.rssi_assoc_rej.present) {
@ -3325,9 +3325,9 @@ sir_convert_reassoc_req_frame2_struct(tpAniSirGlobal pMac,
ext_cap->timing_meas, ext_cap->fine_time_meas_initiator,
ext_cap->fine_time_meas_responder);
}
if (ar.vendor_he_cap.present) {
qdf_mem_copy(&pAssocReq->he_cap, &ar.vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
if (ar.he_cap.present) {
qdf_mem_copy(&pAssocReq->he_cap, &ar.he_cap,
sizeof(tDot11fIEhe_cap));
}
return eSIR_SUCCESS;
@ -3900,15 +3900,15 @@ sir_parse_beacon_ie(tpAniSirGlobal pMac,
}
}
if (pBies->vendor_he_cap.present) {
qdf_mem_copy(&pBeaconStruct->vendor_he_cap,
&pBies->vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
if (pBies->he_cap.present) {
qdf_mem_copy(&pBeaconStruct->he_cap,
&pBies->he_cap,
sizeof(tDot11fIEhe_cap));
}
if (pBies->vendor_he_op.present) {
qdf_mem_copy(&pBeaconStruct->vendor_he_op,
&pBies->vendor_he_op,
sizeof(tDot11fIEvendor_he_op));
if (pBies->he_op.present) {
qdf_mem_copy(&pBeaconStruct->he_op,
&pBies->he_op,
sizeof(tDot11fIEhe_op));
}
qdf_mem_free(pBies);
@ -4266,17 +4266,17 @@ sir_convert_beacon_frame2_struct(tpAniSirGlobal pMac,
}
}
if (pBeacon->vendor_he_cap.present) {
if (pBeacon->he_cap.present) {
pe_debug("11AX: HE cap IE present");
qdf_mem_copy(&pBeaconStruct->vendor_he_cap,
&pBeacon->vendor_he_cap,
sizeof(tDot11fIEvendor_he_cap));
qdf_mem_copy(&pBeaconStruct->he_cap,
&pBeacon->he_cap,
sizeof(tDot11fIEhe_cap));
}
if (pBeacon->vendor_he_op.present) {
if (pBeacon->he_op.present) {
pe_debug("11AX: HE operation IE present");
qdf_mem_copy(&pBeaconStruct->vendor_he_op,
&pBeacon->vendor_he_op,
sizeof(tDot11fIEvendor_he_op));
qdf_mem_copy(&pBeaconStruct->he_op,
&pBeacon->he_op,
sizeof(tDot11fIEhe_op));
}
qdf_mem_free(pBeacon);
@ -5978,7 +5978,7 @@ tSirRetStatus populate_dot11f_timing_advert_frame(tpAniSirGlobal mac_ctx,
* Populdate the HE capability IE based on the session.
*/
QDF_STATUS populate_dot11f_he_caps(tpAniSirGlobal mac_ctx, tpPESession session,
tDot11fIEvendor_he_cap *he_cap)
tDot11fIEhe_cap *he_cap)
{
uint32_t value = 0;
tSirRetStatus status;
@ -6155,7 +6155,7 @@ QDF_STATUS populate_dot11f_he_caps(tpAniSirGlobal mac_ctx, tpPESession session,
* Populdate the HE Operation IE based on the session.
*/
QDF_STATUS populate_dot11f_he_operation(tpAniSirGlobal mac_ctx,
tpPESession session, tDot11fIEvendor_he_op *he_op)
tpPESession session, tDot11fIEhe_op *he_op)
{
he_op->present = 1;

View file

@ -969,7 +969,7 @@ struct csr_roam_session {
tSirHTConfig htConfig;
struct sir_vht_config vht_config;
#ifdef WLAN_FEATURE_11AX
tDot11fIEvendor_he_cap he_config;
tDot11fIEhe_cap he_config;
uint32_t he_sta_obsspd;
#endif
#ifdef WLAN_FEATURE_ROAM_OFFLOAD

View file

@ -2262,7 +2262,7 @@ static void csr_update_session_he_cap(tpAniSirGlobal mac_ctx,
struct csr_roam_session *session)
{
uint32_t value = 0;
tDot11fIEvendor_he_cap *he_cap = &session->he_config;
tDot11fIEhe_cap *he_cap = &session->he_config;
he_cap->present = true;

View file

@ -1961,7 +1961,7 @@ QDF_STATUS csr_get_phy_mode_from_bss(tpAniSirGlobal pMac,
if (IS_BSS_VHT_CAPABLE(pIes->VHTCaps) ||
IS_BSS_VHT_CAPABLE(pIes->vendor_vht_ie.VHTCaps))
phyMode = eCSR_DOT11_MODE_11ac;
if (pIes->vendor_he_cap.present)
if (pIes->he_cap.present)
phyMode = eCSR_DOT11_MODE_11ax;
}
*pPhyMode = phyMode;

View file

@ -33,7 +33,7 @@
*
* Return: None
*/
void wma_print_he_cap(tDot11fIEvendor_he_cap *he_cap);
void wma_print_he_cap(tDot11fIEhe_cap *he_cap);
/**
* wma_print_he_ppet() - Prints HE PPE Threshold
@ -75,7 +75,7 @@ void wma_print_he_mac_cap(uint32_t mac_cap);
*
* Return: None
*/
void wma_print_he_op(tDot11fIEvendor_he_op *he_ops);
void wma_print_he_op(tDot11fIEhe_op *he_ops);
/**
* wma_update_target_ext_he_cap() - Update HE caps with given extended cap
@ -230,7 +230,7 @@ uint32_t wma_get_he_vdev_param(struct wma_txrx_node *intr,
WMI_VDEV_PARAM param_id);
#else
static inline void wma_print_he_cap(tDot11fIEvendor_he_cap *he_cap)
static inline void wma_print_he_cap(tDot11fIEhe_cap *he_cap)
{
}
@ -246,7 +246,7 @@ static inline void wma_print_he_mac_cap(uint32_t mac_cap)
{
}
static inline void wma_print_he_op(tDot11fIEvendor_he_op *he_ops)
static inline void wma_print_he_op(tDot11fIEhe_op *he_ops)
{
}

View file

@ -330,8 +330,8 @@ typedef struct {
uint32_t nss;
#ifdef WLAN_FEATURE_11AX
bool he_capable;
tDot11fIEvendor_he_cap he_config;
tDot11fIEvendor_he_op he_op;
tDot11fIEhe_cap he_config;
tDot11fIEhe_op he_op;
#endif
uint8_t max_amsdu_num;
} tAddStaParams, *tpAddStaParams;
@ -530,8 +530,8 @@ typedef struct {
uint32_t rx_aggregation_size;
#ifdef WLAN_FEATURE_11AX
bool he_capable;
tDot11fIEvendor_he_cap he_config;
tDot11fIEvendor_he_op he_op;
tDot11fIEhe_cap he_config;
tDot11fIEhe_op he_op;
uint32_t he_sta_obsspd;
#endif
uint32_t cac_duration_ms;

View file

@ -187,7 +187,7 @@ struct wma_tgt_cfg {
bool sub_20_support;
uint16_t wmi_max_len;
#ifdef WLAN_FEATURE_11AX
tDot11fIEvendor_he_cap he_cap;
tDot11fIEhe_cap he_cap;
#endif
bool dfs_cac_offload;
bool tx_bfee_8ss_enabled;

View file

@ -196,7 +196,7 @@ static void wma_convert_he_ppet(tDot11fIEppe_threshold *he_ppet,
*
* Return: None
*/
static void wma_convert_he_cap(tDot11fIEvendor_he_cap *he_cap, uint32_t mac_cap,
static void wma_convert_he_cap(tDot11fIEhe_cap *he_cap, uint32_t mac_cap,
uint32_t *phy_cap, void *he_ppet,
uint32_t supp_mcs, uint32_t tx_chain_mask,
uint32_t rx_chain_mask)
@ -318,7 +318,7 @@ static void wma_convert_he_cap(tDot11fIEvendor_he_cap *he_cap, uint32_t mac_cap,
* Return: none
*/
static void wma_derive_ext_he_cap(t_wma_handle *wma_handle,
tDot11fIEvendor_he_cap *he_cap, tDot11fIEvendor_he_cap *new_cap)
tDot11fIEhe_cap *he_cap, tDot11fIEhe_cap *new_cap)
{
if (!he_cap->present) {
/* First time update, copy the capability as is */
@ -457,7 +457,7 @@ static void wma_derive_ext_he_cap(t_wma_handle *wma_handle,
}
}
void wma_print_he_cap(tDot11fIEvendor_he_cap *he_cap)
void wma_print_he_cap(tDot11fIEhe_cap *he_cap)
{
if (!he_cap->present) {
WMA_LOGI(FL("HE Capabilities not present"));
@ -737,12 +737,12 @@ void wma_print_he_mac_cap(uint32_t mac_cap)
void wma_update_target_ext_he_cap(tp_wma_handle wma_handle,
struct wma_tgt_cfg *tgt_cfg)
{
tDot11fIEvendor_he_cap *he_cap = &tgt_cfg->he_cap;
tDot11fIEhe_cap *he_cap = &tgt_cfg->he_cap;
int i, j = 0, max_mac;
struct extended_caps *phy_caps;
WMI_MAC_PHY_CAPABILITIES *mac_cap;
tDot11fIEvendor_he_cap he_cap_mac;
tDot11fIEvendor_he_cap tmp_he_cap = {0};
tDot11fIEhe_cap he_cap_mac;
tDot11fIEhe_cap tmp_he_cap = {0};
if (!wma_handle ||
(0 == wma_handle->phy_caps.num_hw_modes.num_hw_modes)) {
@ -765,7 +765,7 @@ void wma_update_target_ext_he_cap(tp_wma_handle wma_handle,
max_mac = j + 1;
for ( ; j < max_mac; j++) {
qdf_mem_zero(&he_cap_mac,
sizeof(tDot11fIEvendor_he_cap));
sizeof(tDot11fIEhe_cap));
mac_cap = &phy_caps->each_phy_cap_per_hwmode[j];
if (mac_cap->supported_bands & WLAN_2G_CAPABILITY) {
wma_convert_he_cap(&he_cap_mac,
@ -783,7 +783,7 @@ void wma_update_target_ext_he_cap(tp_wma_handle wma_handle,
&he_cap_mac);
qdf_mem_zero(&he_cap_mac,
sizeof(tDot11fIEvendor_he_cap));
sizeof(tDot11fIEhe_cap));
if (mac_cap->supported_bands & WLAN_5G_CAPABILITY) {
wma_convert_he_cap(&he_cap_mac,
mac_cap->he_cap_info_5G,
@ -816,7 +816,7 @@ void wma_he_update_tgt_services(tp_wma_handle wma, struct wma_tgt_services *cfg)
}
}
void wma_print_he_op(tDot11fIEvendor_he_op *he_ops)
void wma_print_he_op(tDot11fIEhe_op *he_ops)
{
WMA_LOGI(FL("bss_color: %0x, default_pe_duration: %0x, twt_required: %0x, rts_threshold: %0x, vht_oper_present: %0x"),
he_ops->bss_color, he_ops->default_pe,
@ -937,8 +937,8 @@ static void wma_parse_he_ppet(tDot11fIEppe_threshold *dot11f_ppet,
void wma_populate_peer_he_cap(struct peer_assoc_params *peer,
tpAddStaParams params)
{
tDot11fIEvendor_he_cap *he_cap = &params->he_config;
tDot11fIEvendor_he_op *he_op = &params->he_op;
tDot11fIEhe_cap *he_cap = &params->he_config;
tDot11fIEhe_op *he_op = &params->he_op;
uint32_t *phy_cap = peer->peer_he_cap_phyinfo;
uint32_t mac_cap = 0, he_ops = 0;
uint8_t temp, i;
@ -1073,7 +1073,7 @@ void wma_update_vdev_he_ops(struct wma_vdev_start_req *req,
tpAddBssParams add_bss)
{
uint32_t he_ops = 0;
tDot11fIEvendor_he_op *he_op = &add_bss->he_op;
tDot11fIEhe_op *he_op = &add_bss->he_op;
req->he_capable = add_bss->he_capable;