mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
qcacld-3.0: [11AX] Add support in HDD to update HE Capabilities
Add support in HDD to update 11ax - High Efficiency(HE) Capabilities received as part of the target configuration. Add support for new WNI_CFG global config parameters to be used for implementing 11AX standard. Change-Id: I3f0d3af2369157c657ac59676a434dc794f84b19 CRs-Fixed: 1073481
This commit is contained in:
parent
d0bbb3c52f
commit
ed1efd9653
6 changed files with 865 additions and 2 deletions
4
Kbuild
4
Kbuild
|
|
@ -491,6 +491,10 @@ ifeq ($(CONFIG_WLAN_FEATURE_NAN_DATAPATH), y)
|
|||
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan_datapath.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_WLAN_FEATURE_11AX),y)
|
||||
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_he.o
|
||||
endif
|
||||
|
||||
########### HOST DIAG LOG ###########
|
||||
HOST_DIAG_LOG_DIR := $(WLAN_COMMON_ROOT)/utils/host_diag_log
|
||||
|
||||
|
|
|
|||
41
core/hdd/inc/wlan_hdd_he.h
Normal file
41
core/hdd/inc/wlan_hdd_he.h
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
* copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC : wlan_hdd_he.h
|
||||
*
|
||||
* WLAN Host Device Driver file for 802.11ax (High Efficiency) support.
|
||||
*
|
||||
*/
|
||||
|
||||
#if !defined(WLAN_HDD_HE_H)
|
||||
#define WLAN_HDD_HE_H
|
||||
|
||||
struct hdd_context_s;
|
||||
struct wma_tgt_cfg;
|
||||
|
||||
#ifdef WLAN_FEATURE_11AX
|
||||
void hdd_update_tgt_he_cap(struct hdd_context_s *hdd_ctx,
|
||||
struct wma_tgt_cfg *cfg);
|
||||
#else
|
||||
static inline void hdd_update_tgt_he_cap(struct hdd_context_s *hdd_ctx,
|
||||
struct wma_tgt_cfg *cfg)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
#endif /* if !defined(WLAN_HDD_HE_H)*/
|
||||
251
core/hdd/src/wlan_hdd_he.c
Normal file
251
core/hdd/src/wlan_hdd_he.c
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
/*
|
||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
* above copyright notice and this permission notice appear in all
|
||||
* copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC : wlan_hdd_he.c
|
||||
*
|
||||
* WLAN Host Device Driver file for 802.11ax (High Efficiency) support.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "wlan_hdd_main.h"
|
||||
#include "wlan_hdd_he.h"
|
||||
|
||||
/**
|
||||
* hdd_he_wni_cfg_to_string() - return string conversion of HE WNI CFG
|
||||
* @cfg_id: Config ID.
|
||||
*
|
||||
* This utility function helps log string conversion of WNI config ID.
|
||||
*
|
||||
* Return: string conversion of the HE WNI config ID, if match found;
|
||||
* "Invalid" otherwise.
|
||||
*/
|
||||
static const char *hdd_he_wni_cfg_to_string(uint16_t cfg_id)
|
||||
{
|
||||
switch (cfg_id) {
|
||||
default:
|
||||
return "Invalid";
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_CONTROL);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_TWT_REQUESTOR);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_TWT_RESPONDER);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_FRAGMENTATION);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MAX_FRAG_MSDU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MIN_FRAG_SIZE);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_TRIG_PAD);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MTID_AGGR);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_LINK_ADAPTATION);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_ALL_ACK);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_UL_MU_RSP_SCHEDULING);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BUFFER_STATUS_RPT);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BCAST_TWT);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BA_32BIT);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MU_CASCADING);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MULTI_TID);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DL_MU_BA);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_OMI);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_OFDMA_RA);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MAX_AMPDU_LEN);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_AMSDU_FRAG);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_FLEX_TWT_SCHED);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_RX_CTRL);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BSRP_AMPDU_AGGR);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_QTP);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_A_BQR);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DUAL_BAND);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_CHAN_WIDTH);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_RX_PREAM_PUNC);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_CLASS_OF_DEVICE);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_LDPC);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_LTF_PPDU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_LTF_NDP);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_STBC);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DOPPLER);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_UL_MUMIMO);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DCM_TX);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DCM_RX);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MU_PPDU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_SU_BEAMFORMER);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_SU_BEAMFORMEE);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MU_BEAMFORMER);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BFEE_STS_LT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_NSTS_TOT_LT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BFEE_STS_GT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_NSTS_TOT_GT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_NUM_SOUND_LT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_NUM_SOUND_GT80);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_SU_FEED_TONE16);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MU_FEED_TONE16);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_CODEBOOK_SU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_CODEBOOK_MU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_BFRM_FEED);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_ER_SU_PPDU);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_DL_PART_BW);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_PPET_PRESENT);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_SRP);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_POWER_BOOST);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_4x_LTF_GI);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_NSS);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_MCS);
|
||||
CASE_RETURN_STRING(WNI_CFG_HE_PPET);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* hdd_he_set_wni_cfg() - Update WNI CFG
|
||||
* @hdd_ctx: HDD context
|
||||
* @cfg_id: CFG to be udpated
|
||||
* @new_value: Value to be updated
|
||||
*
|
||||
* Update WNI CFG with the value passed.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static void hdd_he_set_wni_cfg(struct hdd_context_s *hdd_ctx,
|
||||
uint16_t cfg_id, uint32_t new_value)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
|
||||
status = sme_cfg_set_int(hdd_ctx->hHal, cfg_id, new_value);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
hdd_err("could not set %s", hdd_he_wni_cfg_to_string(cfg_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* hdd_update_tgt_he_cap() - Update HE related capabilities
|
||||
* @hdd_ctx: HDD context
|
||||
* @he_cap: Target HE capabilities
|
||||
*
|
||||
* This function updaates WNI CFG with Target capabilities received as part of
|
||||
* Default values present in WNI CFG are the values supported by FW/HW.
|
||||
* INI should be introduced if user control is required to control the value.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void hdd_update_tgt_he_cap(struct hdd_context_s *hdd_ctx,
|
||||
struct wma_tgt_cfg *cfg)
|
||||
{
|
||||
uint32_t ppet_size = sizeof(tDot11fIEppe_threshold);
|
||||
QDF_STATUS status;
|
||||
tDot11fIEvendor_he_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,
|
||||
he_cap->twt_request);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_TWT_RESPONDER,
|
||||
he_cap->twt_responder);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_FRAGMENTATION,
|
||||
he_cap->fragmentation);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MAX_FRAG_MSDU,
|
||||
he_cap->max_num_frag_msdu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MIN_FRAG_SIZE,
|
||||
he_cap->min_frag_size);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_TRIG_PAD,
|
||||
he_cap->trigger_frm_mac_pad);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MTID_AGGR,
|
||||
he_cap->multi_tid_aggr);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LINK_ADAPTATION,
|
||||
he_cap->he_link_adaptation);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_ALL_ACK, he_cap->all_ack);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_UL_MU_RSP_SCHEDULING,
|
||||
he_cap->ul_mu_rsp_sched);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BUFFER_STATUS_RPT,
|
||||
he_cap->a_bsr);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BCAST_TWT,
|
||||
he_cap->broadcast_twt);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BA_32BIT,
|
||||
he_cap->ba_32bit_bitmap);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_CASCADING,
|
||||
he_cap->mu_cascade);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MULTI_TID,
|
||||
he_cap->ack_enabled_multitid);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DL_MU_BA, he_cap->dl_mu_ba);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_OMI, he_cap->omi_a_ctrl);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_OFDMA_RA, he_cap->ofdma_ra);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MAX_AMPDU_LEN,
|
||||
he_cap->max_ampdu_len);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_AMSDU_FRAG, he_cap->amsdu_frag);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_FLEX_TWT_SCHED,
|
||||
he_cap->flex_twt_sched);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_RX_CTRL, he_cap->rx_ctrl_frame);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BSRP_AMPDU_AGGR,
|
||||
he_cap->bsrp_ampdu_aggr);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_QTP, he_cap->qtp);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_A_BQR, he_cap->a_bqr);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DUAL_BAND, he_cap->dual_band);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_CHAN_WIDTH, he_cap->chan_width);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_RX_PREAM_PUNC,
|
||||
he_cap->rx_pream_puncturing);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_CLASS_OF_DEVICE,
|
||||
he_cap->device_class);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LDPC, he_cap->ldpc_coding);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LTF_PPDU,
|
||||
he_cap->he_ltf_gi_ppdu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_LTF_NDP, he_cap->he_ltf_gi_ndp);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_STBC, he_cap->stbc);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DOPPLER, he_cap->doppler);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_UL_MUMIMO, he_cap->ul_mu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DCM_TX, he_cap->dcm_enc_tx);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DCM_RX, he_cap->dcm_enc_rx);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_PPDU, he_cap->ul_he_mu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_SU_BEAMFORMER,
|
||||
he_cap->su_beamformer);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_SU_BEAMFORMEE,
|
||||
he_cap->su_beamformee);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_BEAMFORMER,
|
||||
he_cap->mu_beamformer);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BFEE_STS_LT80,
|
||||
he_cap->bfee_sts_lt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_NSTS_TOT_LT80,
|
||||
he_cap->nsts_tol_lt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BFEE_STS_GT80,
|
||||
he_cap->bfee_sta_gt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_NSTS_TOT_GT80,
|
||||
he_cap->nsts_tot_gt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_NUM_SOUND_LT80,
|
||||
he_cap->num_sounding_lt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_NUM_SOUND_GT80,
|
||||
he_cap->num_sounding_gt_80);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_SU_FEED_TONE16,
|
||||
he_cap->su_feedback_tone16);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MU_FEED_TONE16,
|
||||
he_cap->mu_feedback_tone16);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_CODEBOOK_SU,
|
||||
he_cap->codebook_su);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_CODEBOOK_MU,
|
||||
he_cap->codebook_mu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_BFRM_FEED,
|
||||
he_cap->beamforming_feedback);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_ER_SU_PPDU,
|
||||
he_cap->he_er_su_ppdu);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_DL_PART_BW,
|
||||
he_cap->dl_mu_mimo_part_bw);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_PPET_PRESENT,
|
||||
he_cap->ppet_present);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_SRP, he_cap->srp);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_POWER_BOOST,
|
||||
he_cap->power_boost);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_4x_LTF_GI, he_cap->he_ltf_gi_4x);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_NSS, he_cap->nss_supported);
|
||||
hdd_he_set_wni_cfg(hdd_ctx, WNI_CFG_HE_MCS, he_cap->mcs_supported);
|
||||
|
||||
/* PPET can not be configured by user - Set values from FW */
|
||||
status = sme_cfg_set_str(hdd_ctx->hHal, WNI_CFG_HE_PPET,
|
||||
(void *)&he_cap->ppe_threshold, ppet_size);
|
||||
if (status == QDF_STATUS_E_FAILURE)
|
||||
hdd_alert("could not set HE PPET");
|
||||
}
|
||||
|
|
@ -93,6 +93,7 @@
|
|||
#include "wlan_hdd_driver_ops.h"
|
||||
#include "epping_main.h"
|
||||
#include "wlan_hdd_memdump.h"
|
||||
#include "wlan_hdd_he.h"
|
||||
|
||||
#include <wlan_hdd_ipa.h>
|
||||
#include "hif.h"
|
||||
|
|
@ -1452,6 +1453,10 @@ void hdd_update_tgt_cfg(void *context, void *param)
|
|||
hdd_update_tgt_ht_cap(hdd_ctx, &cfg->ht_cap);
|
||||
|
||||
hdd_update_tgt_vht_cap(hdd_ctx, &cfg->vht_cap);
|
||||
if (cfg->services.en_11ax) {
|
||||
hdd_info("11AX: 11ax is enabled - update HDD config");
|
||||
hdd_update_tgt_he_cap(hdd_ctx, cfg);
|
||||
}
|
||||
|
||||
hdd_update_vdev_nss(hdd_ctx);
|
||||
|
||||
|
|
|
|||
|
|
@ -254,6 +254,68 @@ enum {
|
|||
WNI_CFG_MAX_HT_MCS_TX_DATA,
|
||||
WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA,
|
||||
WNI_CFG_RATE_FOR_TX_MGMT,
|
||||
WNI_CFG_HE_CONTROL,
|
||||
WNI_CFG_HE_TWT_REQUESTOR,
|
||||
WNI_CFG_HE_TWT_RESPONDER,
|
||||
WNI_CFG_HE_FRAGMENTATION,
|
||||
WNI_CFG_HE_MAX_FRAG_MSDU,
|
||||
WNI_CFG_HE_MIN_FRAG_SIZE,
|
||||
WNI_CFG_HE_TRIG_PAD,
|
||||
WNI_CFG_HE_MTID_AGGR,
|
||||
WNI_CFG_HE_LINK_ADAPTATION,
|
||||
WNI_CFG_HE_ALL_ACK,
|
||||
WNI_CFG_HE_UL_MU_RSP_SCHEDULING,
|
||||
WNI_CFG_HE_BUFFER_STATUS_RPT,
|
||||
WNI_CFG_HE_BCAST_TWT,
|
||||
WNI_CFG_HE_BA_32BIT,
|
||||
WNI_CFG_HE_MU_CASCADING,
|
||||
WNI_CFG_HE_MULTI_TID,
|
||||
WNI_CFG_HE_DL_MU_BA,
|
||||
WNI_CFG_HE_OMI,
|
||||
WNI_CFG_HE_OFDMA_RA,
|
||||
WNI_CFG_HE_MAX_AMPDU_LEN,
|
||||
WNI_CFG_HE_AMSDU_FRAG,
|
||||
WNI_CFG_HE_FLEX_TWT_SCHED,
|
||||
WNI_CFG_HE_RX_CTRL,
|
||||
WNI_CFG_HE_BSRP_AMPDU_AGGR,
|
||||
WNI_CFG_HE_QTP,
|
||||
WNI_CFG_HE_A_BQR,
|
||||
WNI_CFG_HE_DUAL_BAND,
|
||||
WNI_CFG_HE_CHAN_WIDTH,
|
||||
WNI_CFG_HE_RX_PREAM_PUNC,
|
||||
WNI_CFG_HE_CLASS_OF_DEVICE,
|
||||
WNI_CFG_HE_LDPC,
|
||||
WNI_CFG_HE_LTF_PPDU,
|
||||
WNI_CFG_HE_LTF_NDP,
|
||||
WNI_CFG_HE_STBC,
|
||||
WNI_CFG_HE_DOPPLER,
|
||||
WNI_CFG_HE_UL_MUMIMO,
|
||||
WNI_CFG_HE_DCM_TX,
|
||||
WNI_CFG_HE_DCM_RX,
|
||||
WNI_CFG_HE_MU_PPDU,
|
||||
WNI_CFG_HE_SU_BEAMFORMER,
|
||||
WNI_CFG_HE_SU_BEAMFORMEE,
|
||||
WNI_CFG_HE_MU_BEAMFORMER,
|
||||
WNI_CFG_HE_BFEE_STS_LT80,
|
||||
WNI_CFG_HE_NSTS_TOT_LT80,
|
||||
WNI_CFG_HE_BFEE_STS_GT80,
|
||||
WNI_CFG_HE_NSTS_TOT_GT80,
|
||||
WNI_CFG_HE_NUM_SOUND_LT80,
|
||||
WNI_CFG_HE_NUM_SOUND_GT80,
|
||||
WNI_CFG_HE_SU_FEED_TONE16,
|
||||
WNI_CFG_HE_MU_FEED_TONE16,
|
||||
WNI_CFG_HE_CODEBOOK_SU,
|
||||
WNI_CFG_HE_CODEBOOK_MU,
|
||||
WNI_CFG_HE_BFRM_FEED,
|
||||
WNI_CFG_HE_ER_SU_PPDU,
|
||||
WNI_CFG_HE_DL_PART_BW,
|
||||
WNI_CFG_HE_PPET_PRESENT,
|
||||
WNI_CFG_HE_SRP,
|
||||
WNI_CFG_HE_POWER_BOOST,
|
||||
WNI_CFG_HE_4x_LTF_GI,
|
||||
WNI_CFG_HE_NSS,
|
||||
WNI_CFG_HE_MCS,
|
||||
WNI_CFG_HE_PPET,
|
||||
/* Any new items to be added should be above this strictly */
|
||||
CFG_PARAM_MAX_NUM
|
||||
};
|
||||
|
|
@ -305,6 +367,7 @@ enum {
|
|||
#define WNI_CFG_ASSOC_RSP_ADDNIE_DATA_LEN 255
|
||||
#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA_LEN 255
|
||||
#define WNI_CFG_WPS_UUID_LEN 16
|
||||
#define WNI_CFG_HE_PPET_LEN 27
|
||||
|
||||
/*
|
||||
* Integer parameter min/max/default values
|
||||
|
|
@ -1275,6 +1338,250 @@ enum {
|
|||
#define WNI_CFG_RATE_FOR_TX_MGMT_STAMAX 0xFF
|
||||
#define WNI_CFG_RATE_FOR_TX_MGMT_STADEF 0xFF
|
||||
|
||||
#define WNI_CFG_HE_CONTROL_STAMIN 0
|
||||
#define WNI_CFG_HE_CONTROL_STAMAX 1
|
||||
#define WNI_CFG_HE_CONTROL_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_TWT_REQUESTOR_STAMIN 0
|
||||
#define WNI_CFG_HE_TWT_REQUESTOR_STAMAX 1
|
||||
#define WNI_CFG_HE_TWT_REQUESTOR_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_TWT_RESPONDER_STAMIN 0
|
||||
#define WNI_CFG_HE_TWT_RESPONDER_STAMAX 1
|
||||
#define WNI_CFG_HE_TWT_RESPONDER_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_FRAGMENTATION_STAMIN 0
|
||||
#define WNI_CFG_HE_FRAGMENTATION_STAMAX 0x3
|
||||
#define WNI_CFG_HE_FRAGMENTATION_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MAX_FRAG_MSDU_STAMIN 0
|
||||
#define WNI_CFG_HE_MAX_FRAG_MSDU_STAMAX 0x7
|
||||
#define WNI_CFG_HE_MAX_FRAG_MSDU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MIN_FRAG_SIZE_STAMIN 0
|
||||
#define WNI_CFG_HE_MIN_FRAG_SIZE_STAMAX 0x3
|
||||
#define WNI_CFG_HE_MIN_FRAG_SIZE_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_TRIG_PAD_STAMIN 0
|
||||
#define WNI_CFG_HE_TRIG_PAD_STAMAX 2
|
||||
#define WNI_CFG_HE_TRIG_PAD_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MTID_AGGR_STAMIN 0
|
||||
#define WNI_CFG_HE_MTID_AGGR_STAMAX 0x7
|
||||
#define WNI_CFG_HE_MTID_AGGR_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_LINK_ADAPTATION_STAMIN 0
|
||||
#define WNI_CFG_HE_LINK_ADAPTATION_STAMAX 0x3
|
||||
#define WNI_CFG_HE_LINK_ADAPTATION_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_ALL_ACK_STAMIN 0
|
||||
#define WNI_CFG_HE_ALL_ACK_STAMAX 1
|
||||
#define WNI_CFG_HE_ALL_ACK_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STAMIN 0
|
||||
#define WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STAMAX 1
|
||||
#define WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BUFFER_STATUS_RPT_STAMIN 0
|
||||
#define WNI_CFG_HE_BUFFER_STATUS_RPT_STAMAX 1
|
||||
#define WNI_CFG_HE_BUFFER_STATUS_RPT_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BCAST_TWT_STAMIN 0
|
||||
#define WNI_CFG_HE_BCAST_TWT_STAMAX 1
|
||||
#define WNI_CFG_HE_BCAST_TWT_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BA_32BIT_STAMIN 0
|
||||
#define WNI_CFG_HE_BA_32BIT_STAMAX 1
|
||||
#define WNI_CFG_HE_BA_32BIT_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MU_CASCADING_STAMIN 0
|
||||
#define WNI_CFG_HE_MU_CASCADING_STAMAX 1
|
||||
#define WNI_CFG_HE_MU_CASCADING_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MULTI_TID_STAMIN 0
|
||||
#define WNI_CFG_HE_MULTI_TID_STAMAX 1
|
||||
#define WNI_CFG_HE_MULTI_TID_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DL_MU_BA_STAMIN 0
|
||||
#define WNI_CFG_HE_DL_MU_BA_STAMAX 1
|
||||
#define WNI_CFG_HE_DL_MU_BA_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_OMI_STAMIN 0
|
||||
#define WNI_CFG_HE_OMI_STAMAX 1
|
||||
#define WNI_CFG_HE_OMI_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_OFDMA_RA_STAMIN 0
|
||||
#define WNI_CFG_HE_OFDMA_RA_STAMAX 1
|
||||
#define WNI_CFG_HE_OFDMA_RA_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MAX_AMPDU_LEN_STAMIN 0
|
||||
#define WNI_CFG_HE_MAX_AMPDU_LEN_STAMAX 0x3
|
||||
#define WNI_CFG_HE_MAX_AMPDU_LEN_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_AMSDU_FRAG_STAMIN 0
|
||||
#define WNI_CFG_HE_AMSDU_FRAG_STAMAX 1
|
||||
#define WNI_CFG_HE_AMSDU_FRAG_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_FLEX_TWT_SCHED_STAMIN 0
|
||||
#define WNI_CFG_HE_FLEX_TWT_SCHED_STAMAX 1
|
||||
#define WNI_CFG_HE_FLEX_TWT_SCHED_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_RX_CTRL_STAMIN 0
|
||||
#define WNI_CFG_HE_RX_CTRL_STAMAX 1
|
||||
#define WNI_CFG_HE_RX_CTRL_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BSRP_AMPDU_AGGR_STAMIN 0
|
||||
#define WNI_CFG_HE_BSRP_AMPDU_AGGR_STAMAX 1
|
||||
#define WNI_CFG_HE_BSRP_AMPDU_AGGR_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_QTP_STAMIN 0
|
||||
#define WNI_CFG_HE_QTP_STAMAX 1
|
||||
#define WNI_CFG_HE_QTP_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_A_BQR_STAMIN 0
|
||||
#define WNI_CFG_HE_A_BQR_STAMAX 1
|
||||
#define WNI_CFG_HE_A_BQR_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DUAL_BAND_STAMIN 0
|
||||
#define WNI_CFG_HE_DUAL_BAND_STAMAX 1
|
||||
#define WNI_CFG_HE_DUAL_BAND_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_CHAN_WIDTH_STAMIN 0
|
||||
#define WNI_CFG_HE_CHAN_WIDTH_STAMAX 0x3F
|
||||
#define WNI_CFG_HE_CHAN_WIDTH_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_RX_PREAM_PUNC_STAMIN 0
|
||||
#define WNI_CFG_HE_RX_PREAM_PUNC_STAMAX 0xF
|
||||
#define WNI_CFG_HE_RX_PREAM_PUNC_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_CLASS_OF_DEVICE_STAMIN 0
|
||||
#define WNI_CFG_HE_CLASS_OF_DEVICE_STAMAX 1
|
||||
#define WNI_CFG_HE_CLASS_OF_DEVICE_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_LDPC_STAMIN 0
|
||||
#define WNI_CFG_HE_LDPC_STAMAX 1
|
||||
#define WNI_CFG_HE_LDPC_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_LTF_PPDU_STAMIN 0
|
||||
#define WNI_CFG_HE_LTF_PPDU_STAMAX 0x3
|
||||
#define WNI_CFG_HE_LTF_PPDU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_LTF_NDP_STAMIN 0
|
||||
#define WNI_CFG_HE_LTF_NDP_STAMAX 0x3
|
||||
#define WNI_CFG_HE_LTF_NDP_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_STBC_STAMIN 0
|
||||
#define WNI_CFG_HE_STBC_STAMAX 0x3
|
||||
#define WNI_CFG_HE_STBC_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DOPPLER_STAMIN 0
|
||||
#define WNI_CFG_HE_DOPPLER_STAMAX 0x3
|
||||
#define WNI_CFG_HE_DOPPLER_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_UL_MUMIMO_STAMIN 0
|
||||
#define WNI_CFG_HE_UL_MUMIMO_STAMAX 0x3
|
||||
#define WNI_CFG_HE_UL_MUMIMO_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DCM_TX_STAMIN 0
|
||||
#define WNI_CFG_HE_DCM_TX_STAMAX 0x7
|
||||
#define WNI_CFG_HE_DCM_TX_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DCM_RX_STAMIN 0
|
||||
#define WNI_CFG_HE_DCM_RX_STAMAX 0x7
|
||||
#define WNI_CFG_HE_DCM_RX_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MU_PPDU_STAMIN 0
|
||||
#define WNI_CFG_HE_MU_PPDU_STAMAX 1
|
||||
#define WNI_CFG_HE_MU_PPDU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_SU_BEAMFORMER_STAMIN 0
|
||||
#define WNI_CFG_HE_SU_BEAMFORMER_STAMAX 1
|
||||
#define WNI_CFG_HE_SU_BEAMFORMER_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_SU_BEAMFORMEE_STAMIN 0
|
||||
#define WNI_CFG_HE_SU_BEAMFORMEE_STAMAX 1
|
||||
#define WNI_CFG_HE_SU_BEAMFORMEE_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MU_BEAMFORMER_STAMIN 0
|
||||
#define WNI_CFG_HE_MU_BEAMFORMER_STAMAX 1
|
||||
#define WNI_CFG_HE_MU_BEAMFORMER_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BFEE_STS_LT80_STAMIN 0x3
|
||||
#define WNI_CFG_HE_BFEE_STS_LT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_BFEE_STS_LT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_NSTS_TOT_LT80_STAMIN 0x3
|
||||
#define WNI_CFG_HE_NSTS_TOT_LT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_NSTS_TOT_LT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BFEE_STS_GT80_STAMIN 0x3
|
||||
#define WNI_CFG_HE_BFEE_STS_GT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_BFEE_STS_GT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_NSTS_TOT_GT80_STAMIN 0x3
|
||||
#define WNI_CFG_HE_NSTS_TOT_GT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_NSTS_TOT_GT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_NUM_SOUND_LT80_STAMIN 0
|
||||
#define WNI_CFG_HE_NUM_SOUND_LT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_NUM_SOUND_LT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_NUM_SOUND_GT80_STAMIN 0
|
||||
#define WNI_CFG_HE_NUM_SOUND_GT80_STAMAX 0x7
|
||||
#define WNI_CFG_HE_NUM_SOUND_GT80_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_SU_FEED_TONE16_STAMIN 0
|
||||
#define WNI_CFG_HE_SU_FEED_TONE16_STAMAX 1
|
||||
#define WNI_CFG_HE_SU_FEED_TONE16_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MU_FEED_TONE16_STAMIN 0
|
||||
#define WNI_CFG_HE_MU_FEED_TONE16_STAMAX 1
|
||||
#define WNI_CFG_HE_MU_FEED_TONE16_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_CODEBOOK_SU_STAMIN 0
|
||||
#define WNI_CFG_HE_CODEBOOK_SU_STAMAX 1
|
||||
#define WNI_CFG_HE_CODEBOOK_SU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_CODEBOOK_MU_STAMIN 0
|
||||
#define WNI_CFG_HE_CODEBOOK_MU_STAMAX 1
|
||||
#define WNI_CFG_HE_CODEBOOK_MU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_BFRM_FEED_STAMIN 0
|
||||
#define WNI_CFG_HE_BFRM_FEED_STAMAX 0x7
|
||||
#define WNI_CFG_HE_BFRM_FEED_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_ER_SU_PPDU_STAMIN 0
|
||||
#define WNI_CFG_HE_ER_SU_PPDU_STAMAX 1
|
||||
#define WNI_CFG_HE_ER_SU_PPDU_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_DL_PART_BW_STAMIN 0
|
||||
#define WNI_CFG_HE_DL_PART_BW_STAMAX 1
|
||||
#define WNI_CFG_HE_DL_PART_BW_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_PPET_PRESENT_STAMIN 0
|
||||
#define WNI_CFG_HE_PPET_PRESENT_STAMAX 1
|
||||
#define WNI_CFG_HE_PPET_PRESENT_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_SRP_STAMIN 0
|
||||
#define WNI_CFG_HE_SRP_STAMAX 1
|
||||
#define WNI_CFG_HE_SRP_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_POWER_BOOST_STAMIN 0
|
||||
#define WNI_CFG_HE_POWER_BOOST_STAMAX 1
|
||||
#define WNI_CFG_HE_POWER_BOOST_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_4x_LTF_GI_STAMIN 0
|
||||
#define WNI_CFG_HE_4x_LTF_GI_STAMAX 1
|
||||
#define WNI_CFG_HE_4x_LTF_GI_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_NSS_STAMIN 0
|
||||
#define WNI_CFG_HE_NSS_STAMAX 0x7
|
||||
#define WNI_CFG_HE_NSS_STADEF 0
|
||||
|
||||
#define WNI_CFG_HE_MCS_STAMIN 0
|
||||
#define WNI_CFG_HE_MCS_STAMAX 0x7
|
||||
#define WNI_CFG_HE_MCS_STADEF 0
|
||||
|
||||
#define CFG_STA_MAGIC_DWORD 0xbeefbeef
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1193,7 +1193,257 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
|
|||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_RATE_FOR_TX_MGMT_STAMIN,
|
||||
WNI_CFG_RATE_FOR_TX_MGMT_STAMAX,
|
||||
WNI_CFG_RATE_FOR_TX_MGMT_STADEF}
|
||||
WNI_CFG_RATE_FOR_TX_MGMT_STADEF},
|
||||
{WNI_CFG_HE_CONTROL,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_CONTROL_STAMIN, WNI_CFG_HE_CONTROL_STAMAX,
|
||||
WNI_CFG_HE_CONTROL_STADEF},
|
||||
{WNI_CFG_HE_TWT_REQUESTOR,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_TWT_REQUESTOR_STAMIN, WNI_CFG_HE_TWT_REQUESTOR_STAMAX,
|
||||
WNI_CFG_HE_TWT_REQUESTOR_STADEF},
|
||||
{WNI_CFG_HE_TWT_RESPONDER,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_TWT_RESPONDER_STAMIN, WNI_CFG_HE_TWT_RESPONDER_STAMAX,
|
||||
WNI_CFG_HE_TWT_RESPONDER_STADEF},
|
||||
{WNI_CFG_HE_FRAGMENTATION,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_FRAGMENTATION_STAMIN, WNI_CFG_HE_FRAGMENTATION_STAMAX,
|
||||
WNI_CFG_HE_FRAGMENTATION_STADEF},
|
||||
{WNI_CFG_HE_MAX_FRAG_MSDU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MAX_FRAG_MSDU_STAMIN, WNI_CFG_HE_MAX_FRAG_MSDU_STAMAX,
|
||||
WNI_CFG_HE_MAX_FRAG_MSDU_STADEF},
|
||||
{WNI_CFG_HE_MIN_FRAG_SIZE,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MIN_FRAG_SIZE_STAMIN, WNI_CFG_HE_MIN_FRAG_SIZE_STAMAX,
|
||||
WNI_CFG_HE_MIN_FRAG_SIZE_STADEF},
|
||||
{WNI_CFG_HE_TRIG_PAD,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_TRIG_PAD_STAMIN, WNI_CFG_HE_TRIG_PAD_STAMAX,
|
||||
WNI_CFG_HE_TRIG_PAD_STADEF},
|
||||
{WNI_CFG_HE_MTID_AGGR,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MTID_AGGR_STAMIN, WNI_CFG_HE_MTID_AGGR_STAMAX,
|
||||
WNI_CFG_HE_MTID_AGGR_STADEF},
|
||||
{WNI_CFG_HE_LINK_ADAPTATION,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_LINK_ADAPTATION_STAMIN, WNI_CFG_HE_LINK_ADAPTATION_STAMAX,
|
||||
WNI_CFG_HE_LINK_ADAPTATION_STADEF},
|
||||
{WNI_CFG_HE_ALL_ACK,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_ALL_ACK_STAMIN, WNI_CFG_HE_ALL_ACK_STAMAX,
|
||||
WNI_CFG_HE_ALL_ACK_STADEF},
|
||||
{WNI_CFG_HE_UL_MU_RSP_SCHEDULING,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STAMIN,
|
||||
WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STAMAX,
|
||||
WNI_CFG_HE_UL_MU_RSP_SCHEDULING_STADEF},
|
||||
{WNI_CFG_HE_BUFFER_STATUS_RPT,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BUFFER_STATUS_RPT_STAMIN,
|
||||
WNI_CFG_HE_BUFFER_STATUS_RPT_STAMAX,
|
||||
WNI_CFG_HE_BUFFER_STATUS_RPT_STADEF},
|
||||
{WNI_CFG_HE_BCAST_TWT,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BCAST_TWT_STAMIN, WNI_CFG_HE_BCAST_TWT_STAMAX,
|
||||
WNI_CFG_HE_BCAST_TWT_STADEF},
|
||||
{WNI_CFG_HE_BA_32BIT,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BA_32BIT_STAMIN, WNI_CFG_HE_BA_32BIT_STAMAX,
|
||||
WNI_CFG_HE_BA_32BIT_STADEF},
|
||||
{WNI_CFG_HE_MU_CASCADING,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MU_CASCADING_STAMIN, WNI_CFG_HE_MU_CASCADING_STAMAX,
|
||||
WNI_CFG_HE_MU_CASCADING_STADEF},
|
||||
{WNI_CFG_HE_MULTI_TID,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MULTI_TID_STAMIN, WNI_CFG_HE_MULTI_TID_STAMAX,
|
||||
WNI_CFG_HE_MULTI_TID_STADEF},
|
||||
{WNI_CFG_HE_DL_MU_BA,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DL_MU_BA_STAMIN, WNI_CFG_HE_DL_MU_BA_STAMAX,
|
||||
WNI_CFG_HE_DL_MU_BA_STADEF},
|
||||
{WNI_CFG_HE_OMI,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_OMI_STAMIN, WNI_CFG_HE_OMI_STAMAX,
|
||||
WNI_CFG_HE_OMI_STADEF},
|
||||
{WNI_CFG_HE_OFDMA_RA,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_OFDMA_RA_STAMIN, WNI_CFG_HE_OFDMA_RA_STAMAX,
|
||||
WNI_CFG_HE_OFDMA_RA_STADEF},
|
||||
{WNI_CFG_HE_MAX_AMPDU_LEN,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MAX_AMPDU_LEN_STAMIN, WNI_CFG_HE_MAX_AMPDU_LEN_STAMAX,
|
||||
WNI_CFG_HE_MAX_AMPDU_LEN_STADEF},
|
||||
{WNI_CFG_HE_AMSDU_FRAG,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_AMSDU_FRAG_STAMIN, WNI_CFG_HE_AMSDU_FRAG_STAMAX,
|
||||
WNI_CFG_HE_AMSDU_FRAG_STADEF},
|
||||
{WNI_CFG_HE_FLEX_TWT_SCHED,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_FLEX_TWT_SCHED_STAMIN, WNI_CFG_HE_FLEX_TWT_SCHED_STAMAX,
|
||||
WNI_CFG_HE_FLEX_TWT_SCHED_STADEF},
|
||||
{WNI_CFG_HE_RX_CTRL,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_RX_CTRL_STAMIN, WNI_CFG_HE_RX_CTRL_STAMAX,
|
||||
WNI_CFG_HE_RX_CTRL_STADEF},
|
||||
{WNI_CFG_HE_BSRP_AMPDU_AGGR,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BSRP_AMPDU_AGGR_STAMIN, WNI_CFG_HE_BSRP_AMPDU_AGGR_STAMAX,
|
||||
WNI_CFG_HE_BSRP_AMPDU_AGGR_STADEF},
|
||||
{WNI_CFG_HE_QTP,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_QTP_STAMIN, WNI_CFG_HE_QTP_STAMAX,
|
||||
WNI_CFG_HE_QTP_STADEF},
|
||||
{WNI_CFG_HE_A_BQR,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_A_BQR_STAMIN, WNI_CFG_HE_A_BQR_STAMAX,
|
||||
WNI_CFG_HE_A_BQR_STADEF},
|
||||
{WNI_CFG_HE_DUAL_BAND,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DUAL_BAND_STAMIN, WNI_CFG_HE_DUAL_BAND_STAMAX,
|
||||
WNI_CFG_HE_DUAL_BAND_STADEF},
|
||||
{WNI_CFG_HE_CHAN_WIDTH,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_CHAN_WIDTH_STAMIN, WNI_CFG_HE_CHAN_WIDTH_STAMAX,
|
||||
WNI_CFG_HE_CHAN_WIDTH_STADEF},
|
||||
{WNI_CFG_HE_RX_PREAM_PUNC,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_RX_PREAM_PUNC_STAMIN, WNI_CFG_HE_RX_PREAM_PUNC_STAMAX,
|
||||
WNI_CFG_HE_RX_PREAM_PUNC_STADEF},
|
||||
{WNI_CFG_HE_CLASS_OF_DEVICE,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_CLASS_OF_DEVICE_STAMIN, WNI_CFG_HE_CLASS_OF_DEVICE_STAMAX,
|
||||
WNI_CFG_HE_CLASS_OF_DEVICE_STADEF},
|
||||
{WNI_CFG_HE_LDPC,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_LDPC_STAMIN, WNI_CFG_HE_LDPC_STAMAX,
|
||||
WNI_CFG_HE_LDPC_STADEF},
|
||||
{WNI_CFG_HE_LTF_PPDU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_LTF_PPDU_STAMIN, WNI_CFG_HE_LTF_PPDU_STAMAX,
|
||||
WNI_CFG_HE_LTF_PPDU_STADEF},
|
||||
{WNI_CFG_HE_LTF_NDP,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_LTF_NDP_STAMIN, WNI_CFG_HE_LTF_NDP_STAMAX,
|
||||
WNI_CFG_HE_LTF_NDP_STADEF},
|
||||
{WNI_CFG_HE_STBC,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_STBC_STAMIN, WNI_CFG_HE_STBC_STAMAX,
|
||||
WNI_CFG_HE_STBC_STADEF},
|
||||
{WNI_CFG_HE_DOPPLER,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DOPPLER_STAMIN, WNI_CFG_HE_DOPPLER_STAMAX,
|
||||
WNI_CFG_HE_DOPPLER_STADEF},
|
||||
{WNI_CFG_HE_UL_MUMIMO,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_UL_MUMIMO_STAMIN, WNI_CFG_HE_UL_MUMIMO_STAMAX,
|
||||
WNI_CFG_HE_UL_MUMIMO_STADEF},
|
||||
{WNI_CFG_HE_DCM_TX,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DCM_TX_STAMIN, WNI_CFG_HE_DCM_TX_STAMAX,
|
||||
WNI_CFG_HE_DCM_TX_STADEF},
|
||||
{WNI_CFG_HE_DCM_RX,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DCM_RX_STAMIN, WNI_CFG_HE_DCM_RX_STAMAX,
|
||||
WNI_CFG_HE_DCM_RX_STADEF},
|
||||
{WNI_CFG_HE_MU_PPDU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MU_PPDU_STAMIN, WNI_CFG_HE_MU_PPDU_STAMAX,
|
||||
WNI_CFG_HE_MU_PPDU_STADEF},
|
||||
{WNI_CFG_HE_SU_BEAMFORMER,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_SU_BEAMFORMER_STAMIN, WNI_CFG_HE_SU_BEAMFORMER_STAMAX,
|
||||
WNI_CFG_HE_SU_BEAMFORMER_STADEF},
|
||||
{WNI_CFG_HE_SU_BEAMFORMEE,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_SU_BEAMFORMEE_STAMIN, WNI_CFG_HE_SU_BEAMFORMEE_STAMAX,
|
||||
WNI_CFG_HE_SU_BEAMFORMEE_STADEF},
|
||||
{WNI_CFG_HE_MU_BEAMFORMER,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MU_BEAMFORMER_STAMIN, WNI_CFG_HE_MU_BEAMFORMER_STAMAX,
|
||||
WNI_CFG_HE_MU_BEAMFORMER_STADEF},
|
||||
{WNI_CFG_HE_BFEE_STS_LT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BFEE_STS_LT80_STAMIN, WNI_CFG_HE_BFEE_STS_LT80_STAMAX,
|
||||
WNI_CFG_HE_BFEE_STS_LT80_STADEF},
|
||||
{WNI_CFG_HE_NSTS_TOT_LT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_NSTS_TOT_LT80_STAMIN, WNI_CFG_HE_NSTS_TOT_LT80_STAMAX,
|
||||
WNI_CFG_HE_NSTS_TOT_LT80_STADEF},
|
||||
{WNI_CFG_HE_BFEE_STS_GT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BFEE_STS_GT80_STAMIN, WNI_CFG_HE_BFEE_STS_GT80_STAMAX,
|
||||
WNI_CFG_HE_BFEE_STS_GT80_STADEF},
|
||||
{WNI_CFG_HE_NSTS_TOT_GT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_NSTS_TOT_GT80_STAMIN, WNI_CFG_HE_NSTS_TOT_GT80_STAMAX,
|
||||
WNI_CFG_HE_NSTS_TOT_GT80_STADEF},
|
||||
{WNI_CFG_HE_NUM_SOUND_LT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_NUM_SOUND_LT80_STAMIN, WNI_CFG_HE_NUM_SOUND_LT80_STAMAX,
|
||||
WNI_CFG_HE_NUM_SOUND_LT80_STADEF},
|
||||
{WNI_CFG_HE_NUM_SOUND_GT80,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_NUM_SOUND_GT80_STAMIN, WNI_CFG_HE_NUM_SOUND_GT80_STAMAX,
|
||||
WNI_CFG_HE_NUM_SOUND_GT80_STADEF},
|
||||
{WNI_CFG_HE_SU_FEED_TONE16,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_SU_FEED_TONE16_STAMIN, WNI_CFG_HE_SU_FEED_TONE16_STAMAX,
|
||||
WNI_CFG_HE_SU_FEED_TONE16_STADEF},
|
||||
{WNI_CFG_HE_MU_FEED_TONE16,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MU_FEED_TONE16_STAMIN, WNI_CFG_HE_MU_FEED_TONE16_STAMAX,
|
||||
WNI_CFG_HE_MU_FEED_TONE16_STADEF},
|
||||
{WNI_CFG_HE_CODEBOOK_SU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_CODEBOOK_SU_STAMIN, WNI_CFG_HE_CODEBOOK_SU_STAMAX,
|
||||
WNI_CFG_HE_CODEBOOK_SU_STADEF},
|
||||
{WNI_CFG_HE_CODEBOOK_MU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_CODEBOOK_MU_STAMIN, WNI_CFG_HE_CODEBOOK_MU_STAMAX,
|
||||
WNI_CFG_HE_CODEBOOK_MU_STADEF},
|
||||
{WNI_CFG_HE_BFRM_FEED,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_BFRM_FEED_STAMIN, WNI_CFG_HE_BFRM_FEED_STAMAX,
|
||||
WNI_CFG_HE_BFRM_FEED_STADEF},
|
||||
{WNI_CFG_HE_ER_SU_PPDU,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_ER_SU_PPDU_STAMIN, WNI_CFG_HE_ER_SU_PPDU_STAMAX,
|
||||
WNI_CFG_HE_ER_SU_PPDU_STADEF},
|
||||
{WNI_CFG_HE_DL_PART_BW,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_DL_PART_BW_STAMIN, WNI_CFG_HE_DL_PART_BW_STAMAX,
|
||||
WNI_CFG_HE_DL_PART_BW_STADEF},
|
||||
{WNI_CFG_HE_PPET_PRESENT,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_PPET_PRESENT_STAMIN, WNI_CFG_HE_PPET_PRESENT_STAMAX,
|
||||
WNI_CFG_HE_PPET_PRESENT_STADEF},
|
||||
{WNI_CFG_HE_SRP,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_SRP_STAMIN, WNI_CFG_HE_SRP_STAMAX,
|
||||
WNI_CFG_HE_SRP_STADEF},
|
||||
{WNI_CFG_HE_POWER_BOOST,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_POWER_BOOST_STAMIN, WNI_CFG_HE_POWER_BOOST_STAMAX,
|
||||
WNI_CFG_HE_POWER_BOOST_STADEF},
|
||||
{WNI_CFG_HE_4x_LTF_GI,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_4x_LTF_GI_STAMIN, WNI_CFG_HE_4x_LTF_GI_STAMAX,
|
||||
WNI_CFG_HE_4x_LTF_GI_STADEF},
|
||||
{WNI_CFG_HE_NSS,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_NSS_STAMIN, WNI_CFG_HE_NSS_STAMAX,
|
||||
WNI_CFG_HE_NSS_STADEF},
|
||||
{WNI_CFG_HE_MCS,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
|
||||
WNI_CFG_HE_MCS_STAMIN, WNI_CFG_HE_MCS_STAMAX,
|
||||
WNI_CFG_HE_MCS_STADEF},
|
||||
{WNI_CFG_HE_PPET,
|
||||
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE,
|
||||
0, 0, 0}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -1390,7 +1640,12 @@ cfgstatic_string cfg_static_string[CFG_MAX_STATIC_STRING] = {
|
|||
{WNI_CFG_WPS_UUID,
|
||||
WNI_CFG_WPS_UUID_LEN,
|
||||
6,
|
||||
{0xa, 0xb, 0xc, 0xd, 0xe, 0xf} }
|
||||
{0xa, 0xb, 0xc, 0xd, 0xe, 0xf} },
|
||||
{WNI_CFG_HE_PPET,
|
||||
WNI_CFG_HE_PPET_LEN,
|
||||
WNI_CFG_HE_PPET_LEN,
|
||||
{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} }
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue