mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
Merge 90b5d6b4e3 on remote branch
Change-Id: I89555a096ec2a285317d08c01a732d807c61fd47
This commit is contained in:
commit
db5f117cb5
9 changed files with 1482 additions and 176 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2014-2017, 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023, 2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -93,6 +93,11 @@ typedef enum {
|
|||
*/
|
||||
#define HTT_DATA3_MSG_SVC MAKE_SERVICE_ID(HTT_SERVICE_GROUP,2)
|
||||
|
||||
/* HTT_DATA4_MSG_SVC
|
||||
* H2T channel to transfer MSDU/MPDU queue info from host to target
|
||||
*/
|
||||
#define HTT_DATA4_MSG_SVC MAKE_SERVICE_ID(HTT_SERVICE_GROUP,3)
|
||||
|
||||
/* raw stream service (i.e. flash, tcmd, calibration apps) */
|
||||
#define HTC_RAW_STREAMS_SVC MAKE_SERVICE_ID(HTC_TEST_GROUP,0)
|
||||
|
||||
|
|
|
|||
141
fw/htt.h
141
fw/htt.h
|
|
@ -270,9 +270,10 @@
|
|||
* 3.140 Add H2T MPDUQ_AND_MSDUQ_INFO_HDR and MPDUQ_OF_MSDUQ_INFO defs.
|
||||
* 3.141 Add H2T HTT_AST_INFO for RxOLE.
|
||||
* 3.142 Add T2H GLOBAL_PEER_ID_UNMAP def, update H2T MPDUQ_OR_MSDUQ_INFO def.
|
||||
* 3.143 Add T2H HAPS msg def.
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 142
|
||||
#define HTT_CURRENT_VERSION_MINOR 143
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
|
|
@ -771,7 +772,10 @@ typedef enum {
|
|||
HTT_STATS_AST_ENTRY_TAG = 132, /* htt_ast_entry_tlv */
|
||||
HTT_STATS_TX_PDEV_BE_DL_MU_OFDMA_STATS_TAG = 133, /* htt_tx_pdev_dl_be_mu_ofdma_sch_stats_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_PDEV_BE_UL_MU_OFDMA_STATS_TAG = 134, /* htt_tx_pdev_ul_be_mu_ofdma_sch_stats_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_PDEV_RATE_STATS_BE_OFDMA_TAG = 135, /* htt_tx_pdev_rate_stats_be_ofdma_tlv */
|
||||
HTT_STATS_TX_PDEV_RATE_BE_BN_OFDMA_TAG = 135, /* htt_stats_tx_pdev_rate_be_bn_ofdma_tlv */
|
||||
/* retain deprecated name as an alias */
|
||||
HTT_STATS_TX_PDEV_RATE_STATS_BE_OFDMA_TAG =
|
||||
HTT_STATS_TX_PDEV_RATE_BE_BN_OFDMA_TAG,
|
||||
HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_BE_STATS_TAG = 136, /* htt_rx_pdev_ul_mumimo_trig_be_stats_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_SELFGEN_BE_ERR_STATS_TAG = 137, /* htt_tx_selfgen_be_err_stats_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_SELFGEN_BE_STATS_TAG = 138, /* htt_tx_selfgen_be_stats_tlv, TOPIC=advanced */
|
||||
|
|
@ -779,7 +783,10 @@ typedef enum {
|
|||
HTT_STATS_TX_PDEV_BE_UL_MU_MIMO_STATS_TAG = 140, /* htt_tx_pdev_be_ul_mu_mimo_sch_stats_tlv */
|
||||
HTT_STATS_RX_PDEV_BE_UL_MIMO_USER_STATS_TAG = 141, /* htt_rx_pdev_be_ul_mimo_user_stats_tlv */
|
||||
HTT_STATS_RX_RING_STATS_TAG = 142, /* htt_rx_fw_ring_stats_tlv_v */
|
||||
HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv, TOPIC=advanced */
|
||||
HTT_STATS_RX_PDEV_BE_BN_UL_TRIG_TAG = 143, /* htt_stats_rx_pdev_be_bn_ul_trig_tlv, TOPIC=advanced */
|
||||
/* retain deprecated name as an alias */
|
||||
HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG =
|
||||
HTT_STATS_RX_PDEV_BE_BN_UL_TRIG_TAG,
|
||||
HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG = 144, /* htt_tx_pdev_rate_stats_sawf_tlv, TOPIC=advanced */
|
||||
HTT_STATS_STRM_GEN_MPDUS_TAG = 145, /* htt_stats_strm_gen_mpdus_tlv_t */
|
||||
HTT_STATS_STRM_GEN_MPDUS_DETAILS_TAG = 146, /* htt_stats_strm_gen_mpdus_details_tlv_t */
|
||||
|
|
@ -850,6 +857,15 @@ typedef enum {
|
|||
HTT_STATS_PDEV_UL_MUMIMO_HIST_INELIGIBILITY_TAG = 211, /* htt_stats_pdev_ulmumimo_hist_ineligibility_tlv */
|
||||
HTT_STATS_PHY_PAPRD_PB_TAG = 212, /* htt_stats_phy_paprd_pb_tlv */
|
||||
HTT_STATS_HDS_PROF_STATS_TAG = 213, /* htt_stat_hds_prof_stats_tlv */
|
||||
HTT_STATS_TX_PDEV_MDSB_NUM_USERS_HISTOGRAM_TLV_TAG = 214, /* htt_stats_tx_pdev_mdsb_num_users_histogram_tlv */
|
||||
HTT_STATS_TX_PDEV_PENDING_SEQ_CNT_ON_SCHED_POST_HIST_TAG = 215, /* htt_stats_tx_pdev_pending_seq_cnt_on_sched_post_hist_tlv */
|
||||
HTT_STATS_TX_PDEV_PENDING_SEQ_CNT_IN_HWQ_HIST_TAG = 216, /* htt_stats_tx_pdev_pending_seq_cnt_in_hwq_hist_tlv */
|
||||
HTT_STATS_TX_PDEV_PENDING_SEQ_CNT_IN_TXQ_HIST_TAG = 217, /* htt_stats_tx_pdev_pending_seq_cnt_in_txq_hist_tlv */
|
||||
HTT_STATS_SCHED_TXQ_EARLY_COMPL_TAG = 218, /* htt_stats_sched_txq_early_compl_tlv */
|
||||
HTT_STATS_RX_PDEV_BN_UL_OFDMA_USER_TAG = 219, /* htt_stats_rx_pdev_bn_ul_ofdma_user_tlv */
|
||||
HTT_STATS_TX_SELFGEN_BN_ERR_TAG = 220, /* htt_stats_tx_selfgen_bn_err_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_SELFGEN_BN_TAG = 221, /* htt_stats_tx_selfgen_bn_tlv, TOPIC=advanced */
|
||||
HTT_STATS_TX_SELFGEN_BN_SCHED_STATUS_TAG = 222, /* htt_stats_tx_selfgen_bn_sched_status_tlv, TOPIC=advanced */
|
||||
|
||||
HTT_STATS_MAX_TAG,
|
||||
} htt_stats_tlv_tag_t;
|
||||
|
|
@ -12170,6 +12186,7 @@ enum htt_t2h_msg_type {
|
|||
HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND = 0x3c,
|
||||
HTT_T2H_MSG_TYPE_MLO_LATENCY_REQ = 0x3d,
|
||||
HTT_T2H_MSG_TYPE_GLOBAL_PEER_ID_UNMAP = 0x3e,
|
||||
HTT_T2H_MSG_TYPE_HAPS = 0x3f,
|
||||
|
||||
|
||||
HTT_T2H_MSG_TYPE_TEST,
|
||||
|
|
@ -24057,4 +24074,122 @@ PREPACK struct htt_t2h_global_peer_id_unmap_t {
|
|||
} while (0)
|
||||
|
||||
|
||||
/*
|
||||
* @brief target -> pause/unpause host tx queues based on FW indication
|
||||
* MSG_TYPE => HTT_T2H_MSG_TYPE_HAPS
|
||||
*
|
||||
* @details * Header fields:
|
||||
*
|
||||
* |31 22|21 20|19 16|15 8|7 0|
|
||||
* |---------+-------------+-----------+------------------+---------------|
|
||||
* | RSVD |time_type |action_code| vdev_id | msg type |
|
||||
* |----------------------------------------------------------------------|
|
||||
* | time_high |
|
||||
* |----------------------------------------------------------------------|
|
||||
* | time_low |
|
||||
* |----------------------------------------------------------------------|
|
||||
*
|
||||
* dword0 - b'7:0 - msg_type: This will be set to
|
||||
* 0x3f (HTT_T2H_MSG_TYPE_HAPS)
|
||||
* b'15:8 - vdev_id
|
||||
* b'19:16 - action_code (HTT_T2H_HAPS_ACTION_CODE):
|
||||
* b'0000: Pause
|
||||
* b'0001: Pause with One-Shot Unpause
|
||||
* b'0010: Unpause
|
||||
* values 3-15: reserved
|
||||
* b'21:20 - time_type
|
||||
* b'31:22 - rsvd
|
||||
* reverse action_code at time specified below
|
||||
* (units are specified by the type_type bitfield)
|
||||
* dword1 - b'31:0 uint32_t time_high
|
||||
* dword2 - b'31:0 uint32_t time_low
|
||||
*/
|
||||
typedef enum {
|
||||
HTT_T2H_HAPS_ACTION_PAUSE = 0x00,
|
||||
HTT_T2H_HAPS_ACTION_PAUSE_WITH_ONESHOT_UNPAUSE = 0x01,
|
||||
HTT_T2H_HAPS_ACTION_UNPAUSE = 0x02,
|
||||
} HTT_T2H_HAPS_ACTION_CODE;
|
||||
|
||||
typedef enum {
|
||||
HTT_T2H_HAPS_TIME_TYPE_HOST_QTIME = 0x00,
|
||||
HTT_T2H_HAPS_TIME_TYPE_TSF = 0x01,
|
||||
} HTT_T2H_HAPS_TIME_TYPE;
|
||||
|
||||
PREPACK struct htt_t2h_power_state_info {
|
||||
uint32_t msg_type : 8, /* [7:0] */
|
||||
vdev_id : 8, /* [15:8] */
|
||||
action_code : 4, /* [19:16] */
|
||||
time_type: 2, /* [21:20] */
|
||||
rsvd: 10; /* [31:22] */
|
||||
uint32_t time_low;
|
||||
uint32_t time_high;
|
||||
} POSTPACK;
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_SIZE (sizeof(struct htt_t2h_power_state_info))
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_M 0x0000FF00
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_S 8
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_M) >> \
|
||||
HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_S)
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_POWER_STATE_INFO_HTT_VDEV_ID_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_M 0x000F0000
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_S 16
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_GET(_var) \
|
||||
(((_var) & HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_M) >> \
|
||||
HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_S)
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_POWER_STATE_INFO_HTT_ACTION_CODE_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_M 0x00300000
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_S 20
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_GET(_var) \
|
||||
(((_var) & HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_M) >> \
|
||||
HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_S)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_POWER_STATE_INFO_HTT_TIME_TYPE_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_M 0xFFFFFFFF
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_S 0
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_GET(_var) \
|
||||
(((_var) & HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_M) >> \
|
||||
HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_S)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_POWER_STATE_INFO_HTT_TIME_HIGH_S));\
|
||||
} while (0)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_M 0xFFFFFFFF
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_S 0
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_GET(_var) \
|
||||
(((_var) & HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_M) >> \
|
||||
HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_S)
|
||||
|
||||
#define HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_POWER_STATE_INFO_HTT_TIME_LOW_S));\
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -707,6 +707,58 @@ typedef enum HTT_PPDU_STATS_SPATIAL_REUSE HTT_PPDU_STATS_SPATIAL_REUSE;
|
|||
(((_val) & HTT_PPDU_STATS_COMMON_TRIG_COOKIE_M) >> \
|
||||
HTT_PPDU_STATS_COMMON_TRIG_COOKIE_S)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_M 0x00000001
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_S 0
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_M) >> \
|
||||
HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_S)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_HTT_SEQ_TYPE_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_M 0x00000002
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_S 1
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_M) >> \
|
||||
HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_S)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BASIC_TRIGGER_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_M 0x00000004
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_S 2
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_M) >> \
|
||||
HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_S)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_IS_MANUAL_ULOFDMA_TRIGGER_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_M 0x00000008
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_S 3
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_GET(_var) \
|
||||
(((_var) & HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_M) >> \
|
||||
HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_S)
|
||||
|
||||
#define HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_IS_COMBINED_UL_BSRP_TRIGGER_S)); \
|
||||
} while (0)
|
||||
|
||||
enum HTT_SEQ_TYPE {
|
||||
WAL_PPDU_SEQ_TYPE = 0,
|
||||
HTT_PPDU_SEQ_TYPE = 1,
|
||||
|
|
@ -902,26 +954,26 @@ typedef struct {
|
|||
* HTT_PPDU_SEQ_TYPE then decoder should interpret the
|
||||
* seq type as HTT_PPDU_STATS_SEQ_TYPE.
|
||||
* htt_seq_type field will be set to HTT_PPDU_SEQ_TYPE in
|
||||
* firmware versions where this field is defined.
|
||||
* BIT [31: 1] - reserved
|
||||
* BIT [1 : 1] - is_combined_ul_basic_trigger - Flag to indicate if a
|
||||
* given UL OFDMA/MU-MIMO Basic trigger is sent combined
|
||||
* as part of existing DL data sequence.
|
||||
* BIT [2 : 2] - is_manual_ulofdma_trigger - Flag to indicate if a
|
||||
* given UL OFDMA trigger is manually triggered from the Host.
|
||||
* BIT [3 : 3] - is_combined_ul_bsrp_trigger - Flag to indicate if a
|
||||
* given UL BSRP trigger is sent combined as part of
|
||||
* an existing DL/UL data sequence
|
||||
* BIT [31: 4] - reserved
|
||||
*/
|
||||
union {
|
||||
A_UINT32 reserved__htt_seq_type;
|
||||
struct {
|
||||
A_UINT32 htt_seq_type: 1,
|
||||
reserved3: 31;
|
||||
is_combined_ul_basic_trigger: 1,
|
||||
is_manual_ulofdma_trigger: 1,
|
||||
is_combined_ul_bsrp_trigger: 1,
|
||||
reserved3: 28;
|
||||
};
|
||||
};
|
||||
/* is_manual_ulofdma_trigger:
|
||||
* Flag to indicate if a given UL OFDMA trigger is manually triggered
|
||||
* from the Host
|
||||
*/
|
||||
A_UINT32 is_manual_ulofdma_trigger;
|
||||
/* is_combined_ul_bsrp_trigger:
|
||||
* Flag to indicate if a given UL BSRP trigger is sent combined as
|
||||
* part of existing DL/UL data sequence
|
||||
*/
|
||||
A_UINT32 is_combined_ul_bsrp_trigger;
|
||||
/* Flag to indicate if the channel chosen is 320_1 / 320_2 */
|
||||
A_UINT32 chan_type_320mhz;
|
||||
} htt_ppdu_stats_common_tlv;
|
||||
|
|
|
|||
752
fw/htt_stats.h
752
fw/htt_stats.h
File diff suppressed because it is too large
Load diff
|
|
@ -197,6 +197,7 @@ typedef enum {
|
|||
WLAN_MODULE_VBSS, /* 0x99 */
|
||||
WLAN_MODULE_OPT_DATA, /* 0x9a */
|
||||
WLAN_MODULE_ASD, /* 0x9b */
|
||||
WLAN_MODULE_ENERGY_MGMT, /* 0x9c */
|
||||
|
||||
WLAN_MODULE_ID_MAX,
|
||||
WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
|
||||
|
|
|
|||
|
|
@ -707,6 +707,21 @@ typedef enum {
|
|||
WMI_SERVICE_STA_MLO_RCFG_SUPPORT = 448, /* FW supports STA ML reconfig op */
|
||||
WMI_SERVICE_PDEV_SUSPEND_EVENT_SUPPORT = 449, /* FW supports PDEV_SUSPEND event */
|
||||
WMI_SERVICE_PCC_MODE = 450, /* Indicates FW support for PCC (P2P Connection Compatibility) Mode */
|
||||
WMI_SERVICE_TDLS_NSS_CONFIRM_SUPPORT = 451, /* FW supports confirmation to host requested TDLS NSS operation */
|
||||
|
||||
WMI_SERVICE_EM_PCIE_CONFIG_CBW_SUPPORT = 452, /* Indicates support for channel bandwidth based PCIe config adjustment */
|
||||
WMI_SERVICE_EM_PCIE_CONFIG_LPM_SUPPORT = 453, /* Indicates support for PCIe low power mode L0S/L1 */
|
||||
WMI_SERVICE_EM_DCVS_SUPPORT = 454, /* Indicates support for Dynamic clock and voltage scaling */
|
||||
WMI_SERVICE_EM_EDPS_SUPPORT = 455, /* Indicates support for Dynamic AP power save */
|
||||
WMI_SERVICE_EM_PUO_SUPPORT = 456, /* Indicates support for TWT based periodic unavailability operation. */
|
||||
WMI_SERVICE_EM_ECO_MODE_SUPPORT = 457, /* Indicates support for ECO mode config (LP BBF+ADC+SYNCT) */
|
||||
|
||||
WMI_SERVICE_11BN = 458, /* Indicates FW supports 802.11bn */
|
||||
WMI_SERVICE_HOST_AWARE_POWERSAVE = 459, /* FW supports indicating the powerstate of FW to host */
|
||||
WMI_SERVICE_PDEV_DIV_STATES_REPORT = 460, /* FW supports reporting antenna diversity states */
|
||||
WMI_SERVICE_EAPOL_OVER_RAW = 461, /* FW supports sending EAPOL frames in raw mode even when the vdev is brought up in nwifi/ethernet mode */
|
||||
WMI_SERVICE_MLO_SAP_LINK_REMOVAL_SUPPORT = 462, /* Indicates FW supports MLO SAP link removal operation */
|
||||
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
||||
|
|
|
|||
|
|
@ -1484,7 +1484,21 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_hw_blacklist_chan_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_hw_blacklist_chan_data,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_suspend_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_bpf_set_apf_mode_cmd_fixed_param
|
||||
WMITLV_TAG_STRUC_wmi_bpf_set_apf_mode_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_assoc_operating_mode_params,
|
||||
WMITLV_TAG_STRUC_wmi_recv_bcn_stats,
|
||||
WMITLV_TAG_STRUC_wmi_vdev_vbss_peer_dyn_info,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_lpm_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_dcvs_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_edps_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_puo_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_energy_mgmt_eco_mode_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_mpduq_params,
|
||||
WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_msduq_params,
|
||||
WMITLV_TAG_STRUC_wmi_peer_assoc_hol_mdsuq_params,
|
||||
WMITLV_TAG_STRUC_wmi_peer_tid_rate_custom_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_co_located_chan_info,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -2050,6 +2064,13 @@ typedef enum {
|
|||
OP(WMI_MLO_LINK_TTLM_COMPLETE_CMDID) \
|
||||
OP(WMI_BPF_SET_SUPPORTED_OFFLOAD_BITMAP_CMDID) \
|
||||
OP(WMI_BPF_SET_APF_MODE_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_PCIE_CONFIG_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_PCIE_LPM_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_DCVS_CONFIG_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID) \
|
||||
OP(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID) \
|
||||
OP(WMI_PEER_TID_RATE_CUSTOM_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2882,7 +2903,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, mlo_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_eht_rates, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_operating_mode_params, operating_mode_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_mpduq_params, mgmt_mpduq_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_msduq_params, mgmt_msduq_params, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_hol_mdsuq_params, hol_mdsuq_params, WMITLV_SIZE_VAR)
|
||||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);
|
||||
|
||||
|
|
@ -3626,7 +3651,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_CMDID);
|
|||
|
||||
/* Vdev up Cmd */
|
||||
#define WMITLV_TABLE_WMI_VDEV_UP_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_up_cmd_fixed_param, wmi_vdev_up_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_up_cmd_fixed_param, wmi_vdev_up_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_co_located_chan_info, co_located_chan_info, WMITLV_SIZE_VAR)
|
||||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UP_CMDID);
|
||||
|
||||
|
|
@ -3658,7 +3684,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UPDATE_MAC_ADDR_CMDID);
|
|||
#define WMITLV_TABLE_WMI_VDEV_VBSS_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_vbss_config_cmd_fixed_param, wmi_vdev_vbss_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_pn_info, vbss_peer_pn_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_sn_info, vbss_peer_sn_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_sn_info, vbss_peer_sn_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_dyn_info, vbss_peer_dyn_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_VBSS_CONFIG_CMDID);
|
||||
|
||||
/* Pdev suspend Cmd */
|
||||
|
|
@ -5778,6 +5805,42 @@ WMITLV_CREATE_PARAM_STRUC(WMI_BPF_SET_SUPPORTED_OFFLOAD_BITMAP_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_bpf_set_apf_mode_cmd_fixed_param, wmi_bpf_set_apf_mode_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_BPF_SET_APF_MODE_CMDID);
|
||||
|
||||
/* WMI cmd used to control PCIe config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_PCIE_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_config_cmd_fixed_param, wmi_energy_mgmt_pcie_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_PCIE_CONFIG_CMDID);
|
||||
|
||||
/* WMI cmd used for PCIe LPM config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_PCIE_LPM_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_lpm_cmd_fixed_param, wmi_energy_mgmt_pcie_lpm_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_PCIE_LPM_CMDID);
|
||||
|
||||
/* WMI cmd used to control DCVS config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_DCVS_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_dcvs_config_cmd_fixed_param, wmi_energy_mgmt_dcvs_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_DCVS_CONFIG_CMDID);
|
||||
|
||||
/* WMI cmd used to control Dynamic AP Power Save config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_edps_config_cmd_fixed_param, wmi_energy_mgmt_edps_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID);
|
||||
|
||||
/* WMI cmd used to control Scheduled AP Power Save config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_PUO_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_puo_config_cmd_fixed_param, wmi_energy_mgmt_puo_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID);
|
||||
|
||||
/* WMI cmd used to control Un-scheduled AP Power Save config */
|
||||
#define WMITLV_TABLE_WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_eco_mode_config_cmd_fixed_param, wmi_energy_mgmt_eco_mode_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID);
|
||||
|
||||
/* peer tid rate customization cmd */
|
||||
#define WMITLV_TABLE_WMI_PEER_TID_RATE_CUSTOM_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_rate_custom_cmd_fixed_param, wmi_peer_tid_rate_custom_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, rate_code, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TID_RATE_CUSTOM_CMDID);
|
||||
|
||||
|
||||
|
||||
/************************** TLV definitions of WMI events *******************************/
|
||||
|
|
@ -6399,7 +6462,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWFDA_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pmf_bcn_protect_stats, pmf_bcn_protect_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_extd_stats, vdev_extd_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_extd_stats, pdev_extd_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_telemetry_stats, pdev_telemetry_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_telemetry_stats, pdev_telemetry_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_recv_bcn_stats, recv_bcn_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID);
|
||||
|
||||
/* Update PN response Event */
|
||||
|
|
@ -7825,7 +7889,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VENDOR_PEER_EVENTID);
|
|||
#define WMITLV_TABLE_WMI_VDEV_VBSS_CONFIG_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_vbss_config_event_fixed_param, wmi_vdev_vbss_config_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_pn_info, vbss_peer_pn_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_sn_info, vbss_peer_sn_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_sn_info, vbss_peer_sn_info, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_vbss_peer_dyn_info, vbss_peer_dyn_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_VBSS_CONFIG_EVENTID);
|
||||
|
||||
/* link switch event */
|
||||
|
|
|
|||
585
fw/wmi_unified.h
585
fw/wmi_unified.h
|
|
@ -369,7 +369,8 @@ typedef enum {
|
|||
WMI_GRP_QUIET_OFL, /* 0x4a Quiet offloads */
|
||||
WMI_GRP_ODD, /* 0x4b ODD */
|
||||
WMI_GRP_TDMA, /* 0x4c TDMA */
|
||||
WMI_GRP_MANUAL_UL_TRIG /* 0x4d Manual UL OFDMA Trigger */
|
||||
WMI_GRP_MANUAL_UL_TRIG, /* 0x4d Manual UL OFDMA Trigger */
|
||||
WMI_GRP_ENERGY_MGMT, /* 0x4e energy management */
|
||||
} WMI_GRP_ID;
|
||||
|
||||
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
|
||||
|
|
@ -851,6 +852,9 @@ typedef enum {
|
|||
/* WMI command to setup reorder queue for multiple TIDs */
|
||||
WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID,
|
||||
|
||||
/** Customize MCS range for specific tid */
|
||||
WMI_PEER_TID_RATE_CUSTOM_CMDID,
|
||||
|
||||
/* beacon/management specific commands */
|
||||
|
||||
/** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */
|
||||
|
|
@ -1728,6 +1732,21 @@ typedef enum {
|
|||
|
||||
/** WMI Command to set Manual MU UL OFDMA trigger parameters */
|
||||
WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID,
|
||||
|
||||
|
||||
/** WMI commands specific to Energy Management **/
|
||||
/** WMI cmd used to control PCIe config */
|
||||
WMI_ENERGY_MGMT_PCIE_CONFIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ENERGY_MGMT),
|
||||
/** WMI cmd used to control PCIe LPM */
|
||||
WMI_ENERGY_MGMT_PCIE_LPM_CMDID,
|
||||
/** WMI cmd used to control Clock and Voltage config */
|
||||
WMI_ENERGY_MGMT_DCVS_CONFIG_CMDID,
|
||||
/** WMI cmd used to control AP Dynamic Power Save feature */
|
||||
WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID,
|
||||
/** WMI cmd used to control periodic unavailability operation */
|
||||
WMI_ENERGY_MGMT_PUO_CONFIG_CMDID,
|
||||
/** WMI cmd used to control ECO mode config */
|
||||
WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID,
|
||||
} WMI_CMD_ID;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -4870,8 +4889,13 @@ typedef struct {
|
|||
* 11 -> reserved
|
||||
* Refer to the below WMI_RSRC_CFG_FLAGS2_OPTIMIZE_POWER_GET/SET
|
||||
* macros.
|
||||
* Bit 25 - enable recv_bcn_stats feature
|
||||
* 0 -> disable the feature
|
||||
* 1 -> enable the feature
|
||||
* Refer to below WMI_RSRC_CFG_FLAGS2_RECV_BCN_STATS_ENABLED_GET/SET
|
||||
* macros.
|
||||
*
|
||||
* Bits 31:25 - Reserved
|
||||
* Bits 31:26 - Reserved
|
||||
*/
|
||||
A_UINT32 flags2;
|
||||
/** @brief host_service_flags - can be used by Host to indicate
|
||||
|
|
@ -5160,6 +5184,13 @@ typedef struct {
|
|||
reserved: 31;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* @brief HAPS flags setting for power save config
|
||||
* bit 0 : Enable disable haps feature
|
||||
* bit 1 : Sync and update qtime cnss timestamp
|
||||
* BIT 2-31: Reserved
|
||||
*/
|
||||
A_UINT32 dp_haps_config;
|
||||
} wmi_resource_config;
|
||||
#define WMI_RSRC_CFG_APF_DATA_OFLD_ENABLE_GET(word32) \
|
||||
WMI_GET_BITS(word32, 0, 1)
|
||||
|
|
@ -5458,6 +5489,11 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_FLAGS2_OPTIMIZE_POWER_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 23, 2, value)
|
||||
|
||||
#define WMI_RSRC_CFG_FLAGS2_RECV_BCN_STATS_ENABLED_GET(flags2) \
|
||||
WMI_GET_BITS(flags2, 25, 1)
|
||||
#define WMI_RSRC_CFG_FLAGS2_RECV_BCN_STATS_ENABLED_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 25, 1, value)
|
||||
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 0, 1)
|
||||
|
|
@ -10069,6 +10105,9 @@ typedef enum {
|
|||
|
||||
/* To enable/disable DFS radar detection for scan radio */
|
||||
WMI_PDEV_PARAM_ENABLE_SCAN_RADIO_DFS,
|
||||
|
||||
/* configure CCE rules based on ethertype match */
|
||||
WMI_PDEV_PARAM_CONFIG_CUSTOM_CCE_RULE,
|
||||
} WMI_PDEV_PARAM;
|
||||
|
||||
#define WMI_PDEV_ONLY_BSR_TRIG_IS_ENABLED(trig_type) WMI_GET_BITS(trig_type, 0, 1)
|
||||
|
|
@ -10728,6 +10767,16 @@ typedef struct {
|
|||
*/
|
||||
} wmi_pdev_tpc_config_event_fixed_param;
|
||||
|
||||
|
||||
typedef enum {
|
||||
WMI_ASD_PRIMARY_ANT = 0,
|
||||
WMI_ASD_DIVERSITY_ANT = 1,
|
||||
WMI_ASD_THIRD_ANT = 2,
|
||||
WMI_ASD_FOURTH_ANT = 3,
|
||||
|
||||
WMI_ASD_MAX_ANTTYPE = 4
|
||||
} WMI_ASD_ANT_TYPE;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_div_rssi_antid_event_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
|
@ -10741,6 +10790,17 @@ typedef struct {
|
|||
wmi_mac_addr macaddr;
|
||||
/* EVM value for stream0 and stream1 20Mhz, dB units */
|
||||
A_INT32 chain_evm[WMI_MAX_CHAINS];
|
||||
/** num_antennas_valid:
|
||||
* how many elements in the WMI_ASD_MAX_ANTTYPE arrays below
|
||||
* contain valid info
|
||||
*/
|
||||
A_UINT32 num_antennas_valid;
|
||||
/** switch count on each antenna attached to each chain */
|
||||
A_UINT32 ant_cnt[WMI_MAX_CHAINS][WMI_ASD_MAX_ANTTYPE];
|
||||
/** stay duration on each antenna attached to each chain (units: ms) */
|
||||
A_UINT32 ant_dur[WMI_MAX_CHAINS][WMI_ASD_MAX_ANTTYPE];
|
||||
/** RSSI on each antenna attached to each chain in dbm */
|
||||
A_INT32 ant_rssi[WMI_MAX_CHAINS][WMI_ASD_MAX_ANTTYPE];
|
||||
} wmi_pdev_div_rssi_antid_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -11182,6 +11242,7 @@ typedef enum {
|
|||
WMI_REQUEST_VDEV_EXTD_STAT = 0x10000,
|
||||
WMI_REQUEST_PDEV_EXTD_STAT = 0x20000,
|
||||
WMI_REQUEST_PDEV_TELEMETRY_STAT = 0x40000,
|
||||
WMI_REQUEST_VDEV_RECV_BCN_STAT = 0x80000,
|
||||
} wmi_stats_id;
|
||||
|
||||
/*
|
||||
|
|
@ -12172,6 +12233,10 @@ typedef struct {
|
|||
* wmi_pdev_telemetry_stats wmi_pdev_telemetry_stats[]
|
||||
* follows the other TLVs
|
||||
*/
|
||||
/* If WMI_REQUEST_VDEV_RECV_BCN_STAT is set in stats_id, then TLV
|
||||
* wmi_recv_bcn_stats wmi_recv_bcn_stats[]
|
||||
* follows the other TLVs
|
||||
*/
|
||||
} wmi_stats_event_fixed_param;
|
||||
|
||||
/* WLAN channel CCA stats bitmap */
|
||||
|
|
@ -15536,6 +15601,30 @@ typedef struct{
|
|||
A_UINT32 estimated_air_time_per_ac;
|
||||
} wmi_pdev_telemetry_stats;
|
||||
|
||||
|
||||
#define WMI_MAX_BCN_HISTORY 10 /* max beacon history entry */
|
||||
|
||||
typedef struct {
|
||||
/* Beacon real RSSI, non-averaged rssi, dBm units; -128 means invalid */
|
||||
A_INT32 bcn_rssi;
|
||||
/* Beacon tsf, 0 means invalid */
|
||||
A_UINT32 bcn_tsf;
|
||||
/* NOTE:
|
||||
* Due to backwards-compatibility requirements, no new fields
|
||||
* can be added to this struct.
|
||||
*/
|
||||
} wmi_bcn_his_info;
|
||||
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_recv_bcn_stats */
|
||||
A_UINT32 tlv_header;
|
||||
/* Vdev id */
|
||||
A_UINT32 vdev_id;
|
||||
/* Received History of last ten Beacon of the connected Bss */
|
||||
wmi_bcn_his_info bcn_history[WMI_MAX_BCN_HISTORY];
|
||||
} wmi_recv_bcn_stats;
|
||||
|
||||
|
||||
/**
|
||||
* VDEV statistics
|
||||
* @todo
|
||||
|
|
@ -18243,6 +18332,8 @@ typedef struct {
|
|||
/* Target TSF value by which VDEV restart procedure should be completed in FW */
|
||||
A_UINT32 target_tsf_us_lo; /* bits 31:0 */
|
||||
A_UINT32 target_tsf_us_hi; /* bits 63:32 */
|
||||
A_UINT32 vdev_op_ul_nss; /* vdev operating uplink nss. 1 ~ n: 1ss ~ nss */
|
||||
A_UINT32 vdev_op_dl_nss; /* vdev operating downlink nss. 1 ~ n: 1ss ~ nss */
|
||||
|
||||
/* The TLVs follows this structure:
|
||||
* wmi_channel chan; <-- WMI channel
|
||||
|
|
@ -18302,6 +18393,12 @@ enum WMI_VDEV_UP_FLAGS {
|
|||
WMI_VDEV_UP_FLAG_VBSS_PASSIVE = 0x00000004,
|
||||
};
|
||||
|
||||
typedef struct{
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_co_located_chan_info */
|
||||
/* co-located link frequency discovered on connected ap */
|
||||
A_UINT32 link_freq; /* MHz units */
|
||||
} wmi_co_located_chan_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_up_cmdid_fixed_param */
|
||||
/** unique id identifying the VDEV, generated by the caller */
|
||||
|
|
@ -18318,6 +18415,10 @@ typedef struct {
|
|||
A_UINT32 profile_num;
|
||||
/** flags - this is a bitwise-or combination of WMI_VDEV_UP_FLAGS values */
|
||||
A_UINT32 flags;
|
||||
/* The below TLVs follow this struct:
|
||||
* - wmi_co_located_chan_info co_located_chan_info[];
|
||||
* Connected AP's co-located channel info
|
||||
*/
|
||||
} wmi_vdev_up_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -18442,6 +18543,7 @@ typedef enum {
|
|||
WMI_RATE_PREAMBLE_VHT,
|
||||
WMI_RATE_PREAMBLE_HE,
|
||||
WMI_RATE_PREAMBLE_EHT,
|
||||
WMI_RATE_PREAMBLE_UHR,
|
||||
} WMI_RATE_PREAMBLE;
|
||||
|
||||
/** Value to disable fixed rate setting */
|
||||
|
|
@ -20602,91 +20704,96 @@ enum wmi_sta_ps_scheme_cfg {
|
|||
WMI_STA_PS_OPM_CONSERVATIVE = 0,
|
||||
WMI_STA_PS_OPM_AGGRESSIVE = 1,
|
||||
WMI_STA_PS_USER_DEF = 2,
|
||||
WMI_STA_PS_LATENCY_DEF = 3,
|
||||
};
|
||||
|
||||
enum wmi_sta_powersave_param {
|
||||
/**
|
||||
* Controls how frames are retrievd from AP while STA is sleeping
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_rx_wake_policy)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_RX_WAKE_POLICY = 0,
|
||||
/**
|
||||
* Controls how frames are retrievd from AP while STA is sleeping
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_rx_wake_policy)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_RX_WAKE_POLICY = 0,
|
||||
|
||||
/**
|
||||
* The STA will go active after this many TX
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_tx_wake_threshold)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_TX_WAKE_THRESHOLD = 1,
|
||||
/**
|
||||
* The STA will go active after this many TX
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_tx_wake_threshold)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_TX_WAKE_THRESHOLD = 1,
|
||||
|
||||
/**
|
||||
* Number of PS-Poll to send before STA wakes up
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_pspoll_count)
|
||||
*
|
||||
*/
|
||||
WMI_STA_PS_PARAM_PSPOLL_COUNT = 2,
|
||||
/**
|
||||
* Number of PS-Poll to send before STA wakes up
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_pspoll_count)
|
||||
*
|
||||
*/
|
||||
WMI_STA_PS_PARAM_PSPOLL_COUNT = 2,
|
||||
|
||||
/**
|
||||
* TX/RX inactivity time in msec before going to sleep.
|
||||
*
|
||||
* The power save SM will monitor tx/rx activity on the VDEV, if no
|
||||
* activity for the specified msec of the parameter the Power save SM will
|
||||
* go to sleep.
|
||||
*/
|
||||
WMI_STA_PS_PARAM_INACTIVITY_TIME = 3,
|
||||
/**
|
||||
* TX/RX inactivity time in msec before going to sleep.
|
||||
*
|
||||
* The power save SM will monitor tx/rx activity on the VDEV, if no
|
||||
* activity for the specified msec of the parameter the Power save SM will
|
||||
* go to sleep.
|
||||
*/
|
||||
WMI_STA_PS_PARAM_INACTIVITY_TIME = 3,
|
||||
|
||||
/**
|
||||
* Set uapsd configuration.
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_uapsd)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_UAPSD = 4,
|
||||
/**
|
||||
* Set uapsd configuration.
|
||||
*
|
||||
* (see enum wmi_sta_ps_param_uapsd)
|
||||
*/
|
||||
WMI_STA_PS_PARAM_UAPSD = 4,
|
||||
|
||||
/**
|
||||
* Number of PS-Poll to send before STA wakes up in QPower Mode
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_PSPOLL_COUNT = 5,
|
||||
/**
|
||||
* Number of PS-Poll to send before STA wakes up in QPower Mode
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_PSPOLL_COUNT = 5,
|
||||
|
||||
/**
|
||||
* Enable OPM
|
||||
*/
|
||||
WMI_STA_PS_ENABLE_QPOWER = 6,
|
||||
WMI_STA_PS_ENABLE_OPM = WMI_STA_PS_ENABLE_QPOWER, /* alias */
|
||||
/**
|
||||
* Enable OPM
|
||||
*/
|
||||
WMI_STA_PS_ENABLE_QPOWER = 6,
|
||||
WMI_STA_PS_ENABLE_OPM = WMI_STA_PS_ENABLE_QPOWER, /* alias */
|
||||
|
||||
/**
|
||||
* Number of TX frames before the entering the Active state
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_MAX_TX_BEFORE_WAKE = 7,
|
||||
/**
|
||||
* Number of TX frames before the entering the Active state
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_MAX_TX_BEFORE_WAKE = 7,
|
||||
|
||||
/**
|
||||
* QPower SPEC PSPOLL interval
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_SPEC_PSPOLL_WAKE_INTERVAL = 8,
|
||||
/**
|
||||
* QPower SPEC PSPOLL interval
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_SPEC_PSPOLL_WAKE_INTERVAL = 8,
|
||||
|
||||
/**
|
||||
* Max SPEC PSPOLL to be sent when the PSPOLL response has
|
||||
* no-data bit set
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_SPEC_MAX_SPEC_NODATA_PSPOLL = 9,
|
||||
/**
|
||||
* Max SPEC PSPOLL to be sent when the PSPOLL response has
|
||||
* no-data bit set
|
||||
*/
|
||||
WMI_STA_PS_PARAM_QPOWER_SPEC_MAX_SPEC_NODATA_PSPOLL = 9,
|
||||
|
||||
/**
|
||||
* Max value of ITO reset when there is no tx-rx
|
||||
* after AP has set the TIM bit
|
||||
*/
|
||||
WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX = 10,
|
||||
/**
|
||||
* Max value of ITO reset when there is no tx-rx
|
||||
* after AP has set the TIM bit
|
||||
*/
|
||||
WMI_STA_PS_PARAM_MAX_RESET_ITO_COUNT_ON_TIM_NO_TXRX = 10,
|
||||
|
||||
/**
|
||||
* Flag to enable/disable Powersave Optimization
|
||||
* in WOW
|
||||
*/
|
||||
WMI_STA_PS_PARAM_ENABLE_PS_OPT_IN_WOW = 11,
|
||||
/**
|
||||
* Flag to enable/disable Powersave Optimization
|
||||
* in WOW
|
||||
*/
|
||||
WMI_STA_PS_PARAM_ENABLE_PS_OPT_IN_WOW = 11,
|
||||
|
||||
/**
|
||||
* Speculative interval in ms
|
||||
*/
|
||||
WMI_STA_PS_PARAM_SPEC_WAKE_INTERVAL = 12,
|
||||
/**
|
||||
* Speculative interval in ms
|
||||
*/
|
||||
WMI_STA_PS_PARAM_SPEC_WAKE_INTERVAL = 12,
|
||||
|
||||
/**
|
||||
* Value determines the ITO level to apply
|
||||
*/
|
||||
WMI_STA_PS_PARAM_ITO_LEVEL = 13,
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -21202,6 +21309,9 @@ typedef struct {
|
|||
wmi_mlo_flags mlo_flags; /* only mlo enable flag need by STA mode peer create */
|
||||
} wmi_peer_create_mlo_params;
|
||||
|
||||
#define WMI_PEER_CREATE_GET_HW_PEER_ID_VALID(flags) WMI_GET_BITS(flags,0,1)
|
||||
#define WMI_PEER_CREATE_SET_HW_PEER_ID_VALID(flags) WMI_SET_BITS(flags,0,1,value)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_create_cmd_fixed_param */
|
||||
/** unique id identifying the VDEV, generated by the caller */
|
||||
|
|
@ -21210,7 +21320,19 @@ typedef struct {
|
|||
wmi_mac_addr peer_macaddr;
|
||||
/** peer type: see enum values above */
|
||||
A_UINT32 peer_type;
|
||||
/* The TLVs follows this structure:
|
||||
/** Peer create flags */
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 hw_peer_id_valid :1,
|
||||
reserved :31;
|
||||
};
|
||||
A_UINT32 flags;
|
||||
};
|
||||
/** Global sw peer id, valid only if non-zero */
|
||||
A_UINT32 sw_peer_id;
|
||||
/** Global hardware id, valid only if hw_peer_id_valid is set */
|
||||
A_UINT32 hw_peer_id;
|
||||
/* The TLVs follow this structure:
|
||||
* wmi_peer_create_mlo_params mlo_params[]; <-- MLO flags on peer_create
|
||||
* Optional TLV, only present for MLO peers.
|
||||
* If the peer is non-MLO, the array length should be 0.
|
||||
|
|
@ -22090,6 +22212,120 @@ typedef struct {
|
|||
wmi_mac_addr link_macaddr;
|
||||
} wmi_pdev_mesh_rx_filter_enable_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag (WMITLV_TAG_STRUC_wmi_peer_assoc_operating_mode_params) and len */
|
||||
/* rx_nss:
|
||||
* self rx nss indicated to AP through capability IEs or operating mode IE.
|
||||
* 1 ~ n: 1ss ~ nss
|
||||
*/
|
||||
A_UINT32 rx_nss;
|
||||
/* tx_nss:
|
||||
* self tx nss indicated to AP through capability IEs or operating mode IE.
|
||||
* 1 ~ n: 1ss ~ nss
|
||||
*/
|
||||
A_UINT32 tx_nss;
|
||||
/* bw:
|
||||
* self BW indicated to AP through capability IEs or operating mode IE,
|
||||
* refer to wmi_channel_width for definition of the values this field
|
||||
* can hold.
|
||||
*/
|
||||
A_UINT32 bw;
|
||||
} wmi_peer_assoc_operating_mode_params;
|
||||
|
||||
|
||||
typedef enum {
|
||||
WMI_MGMT_TID_MSDUQ_LINK_SPECIFIC,/* legacy and link peer */
|
||||
WMI_MGMT_TID_MSDUQ_LINK_AGNOSTIC,
|
||||
WMI_MGMT_TID_MSDUQ_TYPE_MAX,
|
||||
} WMI_MGMT_TID_MSDUQ_TYPE;
|
||||
|
||||
#define WMI_MGMT_MSDUQ_GET_LINK_ID(msduq_type) WMI_GET_BITS(msduq_type,0,3)
|
||||
#define WMI_MGMT_MSDUQ_SET_LINK_ID(msduq_type) WMI_SET_BITS(msduq_type,0,3,value)
|
||||
#define WMI_MGMT_MSDUQ_GET_FLOW_TYPE(msduq_type) WMI_GET_BITS(msduq_type,3,5)
|
||||
#define WMI_MGMT_MSDUQ_SET_FLOW_TYPE(msduq_type) WMI_SET_BITS(msduq_type,3,5,value)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and Len. Tag: WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_msduq_params*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 link_id : 3, /* HW Link ID */
|
||||
flow_type : 5, /* WMI_MGMT_TID_MSDUQ_TYPE */
|
||||
reserved : 24;
|
||||
};
|
||||
A_UINT32 msduq_type;
|
||||
};
|
||||
|
||||
/* 40 bit physical address, 256 bytes alligned, LSB 8 bits are zero */
|
||||
A_UINT32 mgmt_msduq_paddr_39_8;
|
||||
} wmi_peer_assoc_mgmt_msduq_params;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TAG_ID : WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_mpduq_params */
|
||||
/* 40 bit physical address, 256 bytes alligned, LSB 8 bits are zero */
|
||||
A_UINT32 mgmt_mpduq_paddr_39_8;
|
||||
A_UINT32 pn_paddr_31_0;
|
||||
A_UINT32 pn_paddr_39_32;
|
||||
} wmi_peer_assoc_mgmt_mpduq_params;
|
||||
|
||||
#define WMI_HOL_QUEUE_GET_PEER_ID(mpduq_msduq_number) \
|
||||
WMI_GET_BITS(mpduq_msduq_number,0,12)
|
||||
#define WMI_HOL_QUEUE_SET_PEER_ID(mpduq_msduq_number) \
|
||||
WMI_SET_BITS(mpduq_msduq_number,0,12,value)
|
||||
#define WMI_HOL_QUEUE_GET_TID_NUM(mpduq_msduq_number) \
|
||||
WMI_GET_BITS(mpduq_msduq_number,12,5)
|
||||
#define WMI_HOL_QUEUE_SET_TID_NUM(mpduq_msduq_number) \
|
||||
WMI_SET_BITS(mpduq_msduq_number,12,5,value)
|
||||
#define WMI_HOL_QUEUE_GET_MPDUQ_TYPE(mpduq_msduq_number) \
|
||||
WMI_GET_BITS(mpduq_msduq_number,17,5)
|
||||
#define WMI_HOL_MSDUQ_SET_MPDUQ_TYPE(mpduq_msduq_number) \
|
||||
WMI_SET_BITS(mpduq_msduq_number,17,5,value)
|
||||
#define WMI_HOL_QUEUE_GET_MSDUQ_TYPE(mpduq_msduq_number) \
|
||||
WMI_GET_BITS(mpduq_msduq_number,22,5)
|
||||
#define WMI_HOL_MSDUQ_SET_MSDUQ_TYPE(mpduq_msduq_number) \
|
||||
WMI_SET_BITS(mpduq_msduq_number,22,5,value)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TAG_ID : WMITLV_TAG_STRUC_wmi_peer_assoc_hol_mdsuq_params */
|
||||
|
||||
/**
|
||||
* A_UINT32
|
||||
* WMI_HOL_MSDUQ_GET_PEER_ID / WMI_HOL_MSDU_SET_PEER_ID
|
||||
* peer_id:12,
|
||||
*
|
||||
* WMI_HOL_MSDUQ_GET_TID_NUM / WMI_HOL_MSDUQ_SET_TID_NUM
|
||||
* tid_num:5,
|
||||
*
|
||||
* WMI_HOL_MPDUQ_GET_QUEUE_TYPE / WMI_HOL_MPDUQ_SET_QUEUE_TYPE
|
||||
* mpduq_type:5,
|
||||
*
|
||||
* WMI_HOL_MSDUQ_GET_QUEUE_TYPE / WMI_HOL_MSDUQ_SET_QUEUE_TYPE
|
||||
* msduq_type:5,
|
||||
*
|
||||
* rsvd:5;
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32 peer_id : 12,
|
||||
tid_num : 5,
|
||||
mpduq_type : 5,
|
||||
msduq_type : 5,
|
||||
reserved : 5;
|
||||
};
|
||||
A_UINT32 mpduq_msduq_number;
|
||||
};
|
||||
|
||||
/* 40 bit address, 256 bytes alligned LSB 8 bits are zero */
|
||||
A_UINT32 mpduq_paddr_39_8;
|
||||
|
||||
/* 40 bit address, 256 bytes alligned LSB 8 bits are zero */
|
||||
A_UINT32 msduq_paddr_39_8;
|
||||
|
||||
/* First 32 bits for pn physical address */
|
||||
A_UINT32 pn_paddr_31_0;
|
||||
|
||||
/* Upper 8 bits of 40 bit pn physical address */
|
||||
A_UINT32 pn_paddr_39_32;
|
||||
} wmi_peer_assoc_hol_mdsuq_params;
|
||||
|
||||
/*
|
||||
* PEER assoc_flags for assoc complete:
|
||||
|
|
@ -22233,6 +22469,11 @@ typedef struct {
|
|||
A_UINT32 assoc_flags;
|
||||
/** maximum number of spatial streams supported by peer for tx */
|
||||
A_UINT32 peer_max_tx_nss;
|
||||
/* max_downlink_nss:
|
||||
* max downlink nss, intersected between self rx and peer tx.
|
||||
* 1~N means 1ss~Nss
|
||||
*/
|
||||
A_UINT32 max_downlink_nss;
|
||||
|
||||
/* Following this struct are the TLV's:
|
||||
* A_UINT8 peer_legacy_rates[];
|
||||
|
|
@ -22245,6 +22486,8 @@ typedef struct {
|
|||
* wmi_eht_rate_set peer_eht_rates; <-- EHT capabilities of the peer
|
||||
* wmi_peer_assoc_mlo_partner_link_params link_info[] <-- partner link info
|
||||
* wmi_peer_assoc_tid_to_link_map[] <-- tid to link_map info
|
||||
* wmi_peer_assoc_operating_mode_params <-- operating mode param that
|
||||
* host sends to AP in peer assoc req, optional TLV
|
||||
*/
|
||||
} wmi_peer_assoc_complete_cmd_fixed_param;
|
||||
|
||||
|
|
@ -27509,13 +27752,32 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tdls_peer_update_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 tlv_header;
|
||||
/** unique id identifying the VDEV */
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 vdev_id;
|
||||
/** peer MAC address */
|
||||
wmi_mac_addr peer_macaddr;
|
||||
wmi_mac_addr peer_macaddr;
|
||||
/** new TDLS state for peer (wmi_tdls_peer_state) */
|
||||
A_UINT32 peer_state;
|
||||
A_UINT32 peer_state;
|
||||
/** need_nss_conf:
|
||||
* only set to 1 when this TDLS peer is required to operating
|
||||
* in particular HW mode NSS
|
||||
*/
|
||||
A_UINT32 need_nss_conf;
|
||||
/* preferred_tx_nss:
|
||||
* for peering state, it means advertised nss,
|
||||
* for connected state, it means final negotiated nss.
|
||||
* 1 ~ n: 1ss ~ nss
|
||||
*/
|
||||
A_UINT32 preferred_tx_nss;
|
||||
/* preferred_rx_nss:
|
||||
* for peering state, it means advertised nss,
|
||||
* for connected state, it means final negotiated nss.
|
||||
* 1 ~ n: 1ss ~ nss
|
||||
*/
|
||||
A_UINT32 preferred_rx_nss;
|
||||
|
||||
|
||||
/* The TLV for wmi_tdls_peer_capabilities will follow.
|
||||
* wmi_tdls_peer_capabilities peer_caps;
|
||||
*/
|
||||
|
|
@ -27577,6 +27839,8 @@ enum wmi_tdls_peer_notification {
|
|||
WMI_TDLS_PEER_DISCONNECTED,
|
||||
/** TDLS/BT role change notification for connection tracker */
|
||||
WMI_TDLS_CONNECTION_TRACKER_NOTIFICATION,
|
||||
/** resp to WMI_TDLS_PEER_UPDATE_CMDID as host requested */
|
||||
WMI_TDLS_PEER_UPDATE_RESP,
|
||||
};
|
||||
|
||||
enum wmi_tdls_peer_reason {
|
||||
|
|
@ -27606,6 +27870,8 @@ enum wmi_tdls_peer_reason {
|
|||
WMI_TDLS_SCAN_STARTED_EVENT,
|
||||
/** TDLS module received a scan complete event, TDLS connection tracker needs to handle this */
|
||||
WMI_TDLS_SCAN_COMPLETED_EVENT,
|
||||
/** TDLS max supported operating NSS in current HW mode */
|
||||
WMI_TDLS_OPERATING_NSS_CONF_EVENT,
|
||||
};
|
||||
|
||||
/* WMI_TDLS_PEER_EVENTID */
|
||||
|
|
@ -27620,6 +27886,10 @@ typedef struct {
|
|||
A_UINT32 peer_reason;
|
||||
/** unique id identifying the VDEV */
|
||||
A_UINT32 vdev_id;
|
||||
/** operating TX NSS 1 ~ n: 1ss ~ nss */
|
||||
A_UINT32 tx_nss;
|
||||
/** operating RX NSS 1 ~ n: 1ss ~ nss */
|
||||
A_UINT32 rx_nss;
|
||||
} wmi_tdls_peer_event_fixed_param;
|
||||
|
||||
/* NOTE: wmi_vdev_mcc_bcn_intvl_change_event_fixed_param would be deprecated. Please
|
||||
|
|
@ -33607,6 +33877,23 @@ typedef struct {
|
|||
A_UINT32 tid_mask; /* bits 0 to 15 = QoS TIDs, bit 16 = non-qos TID */
|
||||
} wmi_peer_reorder_queue_remove_cmd_fixed_param;
|
||||
|
||||
/**
|
||||
* This command is sent from WLAN host driver to firmware for
|
||||
* customizing MCS range & retry count for specific TID of specific peer
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
wmi_mac_addr peer_macaddr; /* Peer MAC address */
|
||||
A_UINT32 tid;
|
||||
/* on_off:
|
||||
* Rate customization enable/disable. 1 for enable and 0 for disable.
|
||||
*/
|
||||
A_UINT32 on_off;
|
||||
A_UINT32 bw; /* Unit MHz */
|
||||
A_UINT32 retry_count;
|
||||
} wmi_peer_tid_rate_custom_cmd_fixed_param;
|
||||
|
||||
|
||||
/* DEPRECATED - use wmi_pdev_set_mac_config_response_event_fixed_param instead */
|
||||
typedef struct {
|
||||
|
|
@ -37525,8 +37812,9 @@ typedef struct {
|
|||
supports_11ac:1,
|
||||
supports_11ax:1,
|
||||
supports_11be:1,
|
||||
supports_11bn:1,
|
||||
|
||||
unused: 21,
|
||||
unused: 20,
|
||||
|
||||
max_mubfee: 4; /* max MU beamformees supported per MAC */
|
||||
};
|
||||
|
|
@ -39224,6 +39512,13 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_MLO_LINK_TTLM_COMPLETE_CMDID);
|
||||
WMI_RETURN_STRING(WMI_BPF_SET_SUPPORTED_OFFLOAD_BITMAP_CMDID);
|
||||
WMI_RETURN_STRING(WMI_BPF_SET_APF_MODE_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_PCIE_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_PCIE_LPM_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_DCVS_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PEER_TID_RATE_CUSTOM_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
|
|
@ -40720,7 +41015,10 @@ typedef struct {
|
|||
#define WLM_FLAGS_ROAM_SUPPRESS 1
|
||||
#define WLM_FLAGS_ALLOW_FINAL_BMISS_ROAM 2
|
||||
|
||||
/* bit 8: reserved for roaming */
|
||||
/* bit 8: Final bmiss roam will be triggered when all active links
|
||||
* are final bmiss reported.
|
||||
*/
|
||||
#define WLM_FLAGS_ROAM_WHEN_ALL_LINKS_FBMISS 1
|
||||
|
||||
/* bit 9-11 of flags is used for powersave operation */
|
||||
/* bit 9: WLM_FLAGS_PS_DISABLE_BMPS, disable BMPS if bit is set */
|
||||
|
|
@ -40764,6 +41062,8 @@ typedef struct {
|
|||
#define WLM_FLAGS_TSF_LATENCY_COMPENSATE_ENABLED_SET(flag) WMI_SET_BITS(flag, 4, 1, val)
|
||||
#define WLM_FLAGS_ROAM_GET_POLICY(flag) WMI_GET_BITS(flag, 6, 2)
|
||||
#define WLM_FLAGS_ROAM_SET_POLICY(flag, val) WMI_SET_BITS(flag, 6, 2, val)
|
||||
#define WLM_FLAGS_ROAM_GET_WHEN_ALL_LINKS_FBMISS(flag) WMI_GET_BITS(flag, 8, 1)
|
||||
#define WLM_FLAGS_ROAM_SET_WHEN_ALL_LINKS_FBMISS(flag, val) WMI_SET_BITS(flag, 8, 1, val)
|
||||
#define WLM_FLAGS_PS_IS_BMPS_DISABLED(flag) WMI_GET_BITS(flag, 9, 1)
|
||||
#define WLM_FLAGS_PS_IS_CSS_CLPS_DISABLED(flag) WMI_GET_BITS(flag, 10, 1)
|
||||
#define WLM_FLAGS_PS_SET_CSS_CLPS_DISABLE(flag, val) WMI_SET_BITS(flag, 10, 1, val)
|
||||
|
|
@ -50922,8 +51222,9 @@ typedef struct {
|
|||
};
|
||||
/*
|
||||
* The below TLVs follow this TLV in the WMI_VDEV_VBSS_CONFIG_CMDID msg:
|
||||
* - wmi_vdev_vbss_peer_sn_info[];
|
||||
* - wmi_vdev_vbss_peer_pn_info[];
|
||||
* - wmi_vdev_vbss_peer_sn_info[];
|
||||
* - wmi_vdev_vbss_peer_dyn_info;
|
||||
*/
|
||||
} wmi_vdev_vbss_config_cmd_fixed_param;
|
||||
|
||||
|
|
@ -50956,12 +51257,34 @@ typedef struct {
|
|||
ssn: 16;
|
||||
};
|
||||
};
|
||||
/* The below TLVs follow this TLV in the WMI_VDEV_VBSS_CONFIG_EVENTID msg:
|
||||
* - A_UINT32 scan_freq_list[];
|
||||
* - wmi_vdev_vbss_config_event_fixed_param[];
|
||||
*/
|
||||
} wmi_vdev_vbss_peer_sn_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_vbss_peer_dyn_info */
|
||||
union {
|
||||
A_UINT32 peer_dyn_info1_word32;
|
||||
struct {
|
||||
/** 15:0 omi
|
||||
* 31:16 eht_omi
|
||||
*/
|
||||
A_UINT32
|
||||
omi: 16,
|
||||
eht_omi: 16;
|
||||
};
|
||||
};
|
||||
union {
|
||||
A_UINT32 peer_dyn_info2_word32;
|
||||
struct {
|
||||
/** 1:0 pm
|
||||
* 31:2 reserved
|
||||
*/
|
||||
A_UINT32
|
||||
pm : 1,
|
||||
rsvd : 31;
|
||||
};
|
||||
};
|
||||
} wmi_vdev_vbss_peer_dyn_info;
|
||||
|
||||
typedef enum {
|
||||
WMI_VBSS_GET_PEER_CONTEXT = 1,
|
||||
WMI_VBSS_SET_PEER_CONTEXT = 2,
|
||||
|
|
@ -50980,6 +51303,15 @@ typedef enum {
|
|||
#define WMI_VDEV_VBSS_SN_INFO_GET_SSN(tid_num_ssn) WMI_GET_BITS(tid_num_ssn, 16, 16)
|
||||
#define WMI_VDEV_VBSS_SN_INFO_SET_SSN(action, value) WMI_SET_BITS(tid_num_ssn, 16, 16, value)
|
||||
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_GET_OMI(peer_dyn_info1) WMI_GET_BITS(omi, 0, 16)
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_SET_OMI(peer_dyn_info1, value) WMI_SET_BITS(omi, 0, 16, value)
|
||||
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_GET_EHT_OMI(peer_dyn_info1) WMI_GET_BITS(eht_omi, 16, 16)
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_SET_EHT_OMI(peer_dyn_info1, value) WMI_SET_BITS(eht_omi, 16, 16, value)
|
||||
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_GET_PM(peer_dyn_info2) WMI_GET_BITS(pm, 0, 1)
|
||||
#define WMI_VDEV_VBSS_DYN_INFO_SET_PM(peer_dyn_info2, value) WMI_SET_BITS(pm, 0, 1, value)
|
||||
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_vbss_config_event_fixed_param */
|
||||
|
|
@ -50994,6 +51326,93 @@ typedef struct {
|
|||
} wmi_vdev_vbss_config_event_fixed_param;
|
||||
|
||||
|
||||
typedef enum {
|
||||
/* Channel bandwidth based semi static PCIe config */
|
||||
WMI_PCIE_CONFIG_TYPE_CHANNEL_BANDWIDTH,
|
||||
/* Force a specific PCIe config */
|
||||
WMI_PCIE_CONFIG_TYPE_FORCED_STATIC,
|
||||
} wmi_pcie_config_type_e;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_config_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable PCIe config */
|
||||
A_UINT32 enable;
|
||||
/* PCIe config type (holds a wmi_pcie_config_type_e value) */
|
||||
A_UINT32 config_type;
|
||||
/** pcie_gen: pcie generation to be used
|
||||
* pcie_lane:pcie lane config (lane number) to be used
|
||||
*/
|
||||
A_UINT32 pcie_gen;
|
||||
A_UINT32 pcie_lane;
|
||||
} wmi_energy_mgmt_pcie_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_pcie_lpm_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable PCIe LPM */
|
||||
A_UINT32 enable;
|
||||
} wmi_energy_mgmt_pcie_lpm_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_dcvs_config_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable DCVS config */
|
||||
A_UINT32 enable;
|
||||
} wmi_energy_mgmt_dcvs_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_dps_config_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable DPS config */
|
||||
A_UINT32 enable;
|
||||
/** PDEV identifier */
|
||||
A_UINT32 pdev_id;
|
||||
/** Channel to be used in DPS Low cap mode, freq must match the primary home chan freq */
|
||||
wmi_channel low_cap_channel;
|
||||
/** Tx chainmask to be used in DPS Low cap mode */
|
||||
A_UINT32 low_cap_tx_chainmask;
|
||||
/** Rx chainmask to be used in DPS Low cap mode */
|
||||
A_UINT32 low_cap_rx_chainmask;
|
||||
/** Mbps throughput after which DPS will be exited and notified to Host */
|
||||
A_UINT32 exit_thpt_thrsld_mbps;
|
||||
/** number of wakeups per second after which DPS will be exited and notified to Host */
|
||||
A_UINT32 exit_wakeup_thrsld_per_second;
|
||||
} wmi_energy_mgmt_edps_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_puo_config_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable DPS config */
|
||||
A_UINT32 enable;
|
||||
/** PDEV identifier */
|
||||
A_UINT32 pdev_id;
|
||||
/** Channel to be used in PUO Low cap mode, freq must match the primary home chan freq */
|
||||
wmi_channel low_cap_channel;
|
||||
/** Tx chainmask to be used in Low cap mode */
|
||||
A_UINT32 low_cap_tx_chainmask;
|
||||
/** Rx chainmask to be used in Low cap mode */
|
||||
A_UINT32 low_cap_rx_chainmask;
|
||||
/** minimum duration required between SP end and SP start to trigger entering to doze state */
|
||||
A_UINT32 min_doze_thrsld_in_us;
|
||||
} wmi_energy_mgmt_puo_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_energy_mgmt_eco_mode_config_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** enable or disable DPS config */
|
||||
A_UINT32 enable;
|
||||
/** PDEV identifier */
|
||||
A_UINT32 pdev_id;
|
||||
} wmi_energy_mgmt_eco_mode_config_cmd_fixed_param;
|
||||
|
||||
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,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_ 1623
|
||||
#define __WMI_REVISION_ 1637
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue