mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
Merge 8b50c4db78 on remote branch
Change-Id: Ida009310bd4ecdcc37356e38c4dadbcda14d4de9
This commit is contained in:
commit
22b720cac0
8 changed files with 668 additions and 68 deletions
86
fw/htt.h
86
fw/htt.h
|
|
@ -825,6 +825,8 @@ typedef enum {
|
|||
HTT_STATS_PDEV_RTT_HW_STATS_TAG = 196, /* htt_stats_pdev_rtt_hw_stats_tlv */
|
||||
HTT_STATS_PDEV_RTT_TBR_SELFGEN_QUEUED_STATS_TAG = 197, /* htt_stats_pdev_rtt_tbr_selfgen_queued_stats_tlv */
|
||||
HTT_STATS_PDEV_RTT_TBR_CMD_RESULT_STATS_TAG = 198, /* htt_stats_pdev_rtt_tbr_cmd_result_stats_tlv */
|
||||
HTT_STATS_GTX_TAG = 199, /* htt_stats_gtx_tlv */
|
||||
HTT_STATS_TX_PDEV_WIFI_RADAR_TAG = 200, /* htt_stats_tx_pdev_wifi_radar_tlv */
|
||||
|
||||
|
||||
HTT_STATS_MAX_TAG,
|
||||
|
|
@ -7171,33 +7173,35 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
|
|||
*
|
||||
* The message would appear as follows:
|
||||
*
|
||||
* |31 26|25|24|23 22|21|20|19|18 16|15|14|13|12|11|10|9|8|7|6|5|4|3|2 0|
|
||||
* |--------+--+--+-----+--+--+--+-----+--+--+--+--+--+--+-+-+-+-+-+-+-+----|
|
||||
* | rsvd1 |PS|SS| ring_id | pdev_id | msg_type |
|
||||
* |-----------+--------+--------+-----+------------------------------------|
|
||||
* | rsvd2 | DATA | CTRL | MGMT| ring_buffer_size |
|
||||
* |--------------------------------------+--+--+--+--+--+-+-+-+-+-+-+-+----|
|
||||
* | | M| M| M| M| M|M|M|M|M|M|M|M| |
|
||||
* | | S| S| S| P| P|P|S|S|S|P|P|P| |
|
||||
* | | E| E| E| E| E|E|S|S|S|S|S|S| |
|
||||
* | rsvd3 | D| C| M| D| C|M|D|C|M|D|C|M| E |
|
||||
* |------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in0 |
|
||||
* |------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in1 |
|
||||
* |------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in2 |
|
||||
* |------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in3 |
|
||||
* |-----------------+-----------------+---------------------+--------------|
|
||||
* | tx_msdu_start_wm| tx_queue_ext_wm | tx_peer_entry_wm |tx_fes_stup_wm|
|
||||
* |------------------------------------------------------------------------|
|
||||
* | pcu_ppdu_setup_word_mask |
|
||||
* |--------------------+--+--+--+-----+---------------------+--------------|
|
||||
* | rsvd4 | D| C| M| PT | rxpcu_usrsetp_wm |tx_mpdu_srt_wm|
|
||||
* |------------------------------------------------------------------------|
|
||||
* |31 28|27|26|25|24|23 22|21|20|19|18 16|15|14|13|12|11|10|9|8|7|6|5|4|3|2 0|
|
||||
* |-----+--+--+--+--+-----+--+--+--+-----+--+--+--+--+--+--+-+-+-+-+-+-+-+----|
|
||||
* |rsvd1|MF|TM|PS|SS| ring_id | pdev_id | msg_type |
|
||||
* |--------------+--------+--------+-----+------------------------------------|
|
||||
* | rsvd2 | DATA | CTRL | MGMT| ring_buffer_size |
|
||||
* |-----------------------------------------+--+--+--+--+--+-+-+-+-+-+-+-+----|
|
||||
* | | M| M| M| M| M|M|M|M|M|M|M|M| |
|
||||
* | | S| S| S| P| P|P|S|S|S|P|P|P| |
|
||||
* | | E| E| E| E| E|E|S|S|S|S|S|S| |
|
||||
* | rsvd3 | D| C| M| D| C|M|D|C|M|D|C|M| E |
|
||||
* |---------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in0 |
|
||||
* |---------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in1 |
|
||||
* |---------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in2 |
|
||||
* |---------------------------------------------------------------------------|
|
||||
* | tlv_filter_mask_in3 |
|
||||
* |--------------------+-----------------+---------------------+--------------|
|
||||
* | tx_msdu_start_wm | tx_queue_ext_wm | tx_peer_entry_wm |tx_fes_stup_wm|
|
||||
* |---------------------------------------------------------------------------|
|
||||
* | pcu_ppdu_setup_word_mask |
|
||||
* |-----------------------+--+--+--+-----+---------------------+--------------|
|
||||
* | rsvd4 | D| C| M| PT | rxpcu_usrsetp_wm |tx_mpdu_srt_wm|
|
||||
* |---------------------------------------------------------------------------|
|
||||
*
|
||||
* Where:
|
||||
* MF = MAC address filtering enable
|
||||
* TM = tx monitor global enable
|
||||
* PS = pkt_swap
|
||||
* SS = status_swap
|
||||
* The message is interpreted as follows:
|
||||
|
|
@ -7216,7 +7220,9 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
|
|||
* e.g. wmac_top_reg_seq_hwioreg.h
|
||||
* b'26 - tx_mon_global_en: Enable/Disable global register
|
||||
* configuration in Tx monitor module.
|
||||
* b'27:31 - rsvd1: reserved for future use
|
||||
* b'27 - mac_addr_filter_en:
|
||||
* Enable/Disable Mac Address based filter.
|
||||
* b'28:31 - rsvd1: reserved for future use
|
||||
* dword1 - b'0:15 - ring_buffer_size: size of bufferes referenced by rx ring,
|
||||
* in byte units.
|
||||
* Valid only for HW_TO_SW_RING and SW_TO_HW_RING
|
||||
|
|
@ -7362,7 +7368,8 @@ PREPACK struct htt_tx_monitor_cfg_t {
|
|||
status_swap: 1,
|
||||
pkt_swap: 1,
|
||||
tx_mon_global_en: 1,
|
||||
rsvd1: 5;
|
||||
mac_addr_filter_en: 1,
|
||||
rsvd1: 4;
|
||||
A_UINT32 ring_buffer_size: 16,
|
||||
config_length_mgmt: 3,
|
||||
config_length_ctrl: 3,
|
||||
|
|
@ -7465,6 +7472,17 @@ PREPACK struct htt_tx_monitor_cfg_t {
|
|||
((_var) |= ((_val) << HTT_TX_MONITOR_CFG_TX_MON_GLOBAL_EN_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_M 0x08000000
|
||||
#define HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_S 27
|
||||
#define HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_GET(_var) \
|
||||
(((_var) & HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_M) >> \
|
||||
HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_S)
|
||||
#define HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN, _val); \
|
||||
((_var) |= ((_val) << HTT_TX_MONITOR_CFG_MAC_ADDR_FILTER_EN_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_M 0x0000ffff
|
||||
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_S 0
|
||||
#define HTT_TX_MONITOR_CFG_RING_BUFFER_SIZE_GET(_var) \
|
||||
|
|
@ -21374,7 +21392,7 @@ PREPACK struct htt_t2h_sawf_msduq_event {
|
|||
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_M 0x00FFFFFF
|
||||
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_S 0
|
||||
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_GET(_var) \
|
||||
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID) >> \
|
||||
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_M) >> \
|
||||
HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_S)
|
||||
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_SET(_var, _val) \
|
||||
do { \
|
||||
|
|
@ -22923,10 +22941,14 @@ typedef struct _htt_tx_latency_stats {
|
|||
|
||||
/* HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND */
|
||||
typedef enum {
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_NONE = 0x00,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_NONE = 0x00,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_PEER_DELETE_IN_PROG = 0x01,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_SW_MSDUQ_NULL = 0x02,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_MSDUQ_LOCATE_ERROR = 0x03,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_SW_MSDUQ_NULL = 0x02,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_MSDUQ_LOCATE_ERROR = 0x03,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_QPEER_NULL = 0x04,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_DEACTIVATED_MSDUQ = 0x05,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_REACTIVATED_MSDUQ = 0x06,
|
||||
HTT_SDWF_MSDUQ_CFG_IND_ERROR_INVALID_SVC_CLASS = 0x07,
|
||||
} HTT_SDWF_MSDUQ_CFG_IND_ERROR_CODE_E;
|
||||
|
||||
PREPACK struct htt_t2h_sdwf_msduq_cfg_ind {
|
||||
|
|
@ -22983,7 +23005,7 @@ PREPACK struct htt_t2h_sdwf_msduq_cfg_ind {
|
|||
#define HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID_GET(_var) \
|
||||
(((_var) & HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID_M) >> \
|
||||
HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID_S)
|
||||
#define HTT_T2H_MSG_TYPE_MSDUQ_CFG_IN_DHLOS_TID_SET(_var, _val) \
|
||||
#define HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID, _val); \
|
||||
((_var) |= ((_val) << HTT_T2H_MSG_TYPE_SDWF_MSDUQ_CFG_IND_HLOS_TID_S)); \
|
||||
|
|
|
|||
113
fw/htt_stats.h
113
fw/htt_stats.h
|
|
@ -668,6 +668,14 @@ enum htt_dbg_ext_stats_type {
|
|||
*/
|
||||
HTT_DBG_EXT_STATS_LATENCY_PROF_STATS_LO = 67,
|
||||
|
||||
/** HTT_DBG_GTX_STATS
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_pdev_gtx_stats_tlv
|
||||
*/
|
||||
HTT_DBG_GTX_STATS = 68,
|
||||
|
||||
|
||||
/* keep this last */
|
||||
HTT_DBG_NUM_EXT_STATS = 256,
|
||||
|
|
@ -4390,6 +4398,9 @@ typedef struct {
|
|||
A_UINT32 sched_udp_notify2;
|
||||
A_UINT32 sched_nonudp_notify1;
|
||||
A_UINT32 sched_nonudp_notify2;
|
||||
A_UINT32 tqm_enqueue_msdu_count;
|
||||
A_UINT32 tqm_dropped_msdu_count;
|
||||
A_UINT32 tqm_dequeue_msdu_count;
|
||||
} htt_stats_tx_tqm_pdev_tlv;
|
||||
/* preserve old name alias for new name consistent with the tag name */
|
||||
typedef htt_stats_tx_tqm_pdev_tlv htt_tx_tqm_pdev_stats_tlv_v;
|
||||
|
|
@ -4580,6 +4591,18 @@ typedef struct {
|
|||
A_UINT32 eapol_start_packets;
|
||||
A_UINT32 eapol_logoff_packets;
|
||||
A_UINT32 eapol_encap_asf_packets;
|
||||
A_UINT32 m1_success;
|
||||
A_UINT32 m1_compl_fail;
|
||||
A_UINT32 m2_success;
|
||||
A_UINT32 m2_compl_fail;
|
||||
A_UINT32 m3_success;
|
||||
A_UINT32 m3_compl_fail;
|
||||
A_UINT32 m4_success;
|
||||
A_UINT32 m4_compl_fail;
|
||||
A_UINT32 g1_success;
|
||||
A_UINT32 g1_compl_fail;
|
||||
A_UINT32 g2_success;
|
||||
A_UINT32 g2_compl_fail;
|
||||
} htt_stats_tx_de_eapol_packets_tlv;
|
||||
/* preserve old name alias for new name consistent with the tag name */
|
||||
typedef htt_stats_tx_de_eapol_packets_tlv htt_tx_de_eapol_packets_stats_tlv;
|
||||
|
|
@ -5580,6 +5603,8 @@ typedef struct {
|
|||
A_UINT32 extra_eht_ltf;
|
||||
/** Counter for Extra EHT LTFs in OFDMA sequences */
|
||||
A_UINT32 extra_eht_ltf_ofdma;
|
||||
/** 11AX HE UL_BA RU Size stats */
|
||||
A_UINT32 ofdma_ba_ru_size[HTT_TX_PDEV_STATS_NUM_AX_RU_SIZE_COUNTERS];
|
||||
} htt_stats_tx_pdev_rate_stats_tlv;
|
||||
/* preserve old name alias for new name consistent with the tag name */
|
||||
typedef htt_stats_tx_pdev_rate_stats_tlv htt_tx_pdev_rate_stats_tlv;
|
||||
|
|
@ -5668,6 +5693,7 @@ typedef struct {
|
|||
A_UINT32 be_ofdma_tx_ru_size[HTT_TX_PDEV_STATS_NUM_BE_RU_SIZE_COUNTERS];
|
||||
/** 11BE EHT DL MU OFDMA EHT-SIG MCS stats */
|
||||
A_UINT32 be_ofdma_eht_sig_mcs[HTT_TX_PDEV_STATS_NUM_EHT_SIG_MCS_COUNTERS];
|
||||
A_UINT32 be_ofdma_ba_ru_size[HTT_TX_PDEV_STATS_NUM_BE_RU_SIZE_COUNTERS];
|
||||
} htt_stats_tx_pdev_rate_stats_be_ofdma_tlv;
|
||||
/* preserve old name alias for new name consistent with the tag name */
|
||||
typedef htt_stats_tx_pdev_rate_stats_be_ofdma_tlv
|
||||
|
|
@ -8590,6 +8616,82 @@ typedef struct {
|
|||
} htt_pdev_rtt_init_stats_t;
|
||||
#endif /* ATH_TARGET */
|
||||
|
||||
enum {
|
||||
HTT_STATS_WIFI_RADAR_CAL_TYPE_NONE = 0,
|
||||
HTT_STATS_WIFI_RADAR_CAL_TYPE_GAIN_BINARY_SEARCH = 1,
|
||||
HTT_STATS_WIFI_RADAR_CAL_TYPE_TX_GAIN_BINARY_SEARCH = 2,
|
||||
HTT_STATS_WIFI_RADAR_CAL_TYPE_RECAL_GAIN_VALIDATION = 3,
|
||||
HTT_STATS_WIFI_RADAR_CAL_TYPE_RECAL_GAIN_BINARY_SEARCH = 4,
|
||||
/* the value 5 is reserved for future use */
|
||||
|
||||
HTT_STATS_NUM_WIFI_RADAR_CAL_TYPES = 6
|
||||
};
|
||||
|
||||
enum {
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_NONE = 0,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_DPD_ABORT = 1,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_CONVERGENCE = 2,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_TX_EXCEEDS_RETRY = 3,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_CAPTURE = 4,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_NEW_CHANNEL_CHANGE = 5,
|
||||
HTT_STATS_WIFI_RADAR_CAL_FAILURE_NEW_CAL_REQ = 6,
|
||||
/* the values 7-9 are reserved for future use */
|
||||
|
||||
HTT_STATS_NUM_WIFI_RADAR_CAL_FAILURE_REASONS = 10
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
A_UINT32 capture_in_progress;
|
||||
A_UINT32 calibration_in_progress;
|
||||
/* Capture time interval, in ms */
|
||||
A_UINT32 periodicity;
|
||||
/* Last user request timestamp, in ms */
|
||||
A_UINT32 latest_req_timestamp;
|
||||
/* Last target res timestamp, in ms */
|
||||
A_UINT32 latest_resp_timestamp;
|
||||
/* Time taken by last calibration to end, in ms */
|
||||
A_UINT32 latest_calibration_timing;
|
||||
/* Time taken by last calibration to end, in ms for each chain */
|
||||
A_UINT32 calibration_timing_per_chain[HTT_STATS_MAX_CHAINS];
|
||||
/* To log user request count */
|
||||
A_UINT32 wifi_radar_req_count;
|
||||
/* Total packet success count */
|
||||
A_UINT32 num_wifi_radar_pkt_success;
|
||||
/* Total packet queued count */
|
||||
A_UINT32 num_wifi_radar_pkt_queued;
|
||||
/* Total packet success count during latest calibration alone */
|
||||
A_UINT32 num_wifi_radar_cal_pkt_success;
|
||||
/* Tx Gain Calibration Output - Initial Tx Gain index*/
|
||||
A_UINT32 wifi_radar_cal_init_tx_gain;
|
||||
/* Last Calibration Type, refer to HTT_STATS_WIFI_RADAR_CAL_TYPE_ consts */
|
||||
A_UINT32 latest_wifi_radar_cal_type;
|
||||
/* Calibration Type counters */
|
||||
A_UINT32 wifi_radar_cal_type_counts[HTT_STATS_NUM_WIFI_RADAR_CAL_TYPES];
|
||||
/*
|
||||
* Last Calibration Fail Reason,
|
||||
* refer to HTT_STATS_WIFI_RADAR_CAL_FAILURE_ consts
|
||||
*/
|
||||
A_UINT32 latest_wifi_radar_cal_fail_reason;
|
||||
/* Calibration Fail Reason counters */
|
||||
A_UINT32 wifi_radar_cal_fail_reason_counts[HTT_STATS_NUM_WIFI_RADAR_CAL_FAILURE_REASONS];
|
||||
/* WiFi Radar Licensed for SKU: 0 - No; 1 - Yes */
|
||||
A_UINT32 wifi_radar_licensed;
|
||||
/*
|
||||
* cmd result to show failure count of CTS2SELF across MAX_CMD_RESULT
|
||||
* reasons
|
||||
*/
|
||||
A_UINT32 cmd_results_cts2self[HTT_STATS_MAX_SCH_CMD_RESULT];
|
||||
/*
|
||||
* cmd result to show failure count of wifi radar across MAX_CMD_RESULT
|
||||
* reasons
|
||||
*/
|
||||
A_UINT32 cmd_results_wifi_radar[HTT_STATS_MAX_SCH_CMD_RESULT];
|
||||
/* Tx gain index from gain table obtained/used for calibration */
|
||||
A_UINT32 wifi_radar_tx_gains[HTT_STATS_MAX_CHAINS];
|
||||
/* Rx gain index from gain table obtained/used from calibration */
|
||||
A_UINT32 wifi_radar_rx_gains[HTT_STATS_MAX_CHAINS][HTT_STATS_MAX_CHAINS];
|
||||
} htt_stats_tx_pdev_wifi_radar_tlv;
|
||||
|
||||
/* STATS_TYPE : HTT_DBG_EXT_PKTLOG_AND_HTT_RING_STATS
|
||||
* TLV_TAGS:
|
||||
|
|
@ -10464,6 +10566,7 @@ typedef struct _htt_odd_mandatory_muofdma_pdev_stats_tlv {
|
|||
A_UINT32 ax_mu_brp_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS];
|
||||
A_UINT32 be_mu_brp_sch_status[HTT_TX_PDEV_STATS_NUM_TX_ERR_STATUS];
|
||||
A_UINT32 ofdma_tx_ru_size[HTT_TX_PDEV_STATS_NUM_AX_RU_SIZE_COUNTERS];
|
||||
A_UINT32 ofdma_ba_ru_size[HTT_TX_PDEV_STATS_NUM_AX_RU_SIZE_COUNTERS];
|
||||
} htt_dbg_odd_mandatory_muofdma_tlv;
|
||||
/* preserve old name alias for new name consistent with the tag name */
|
||||
typedef htt_dbg_odd_mandatory_muofdma_tlv
|
||||
|
|
@ -11704,5 +11807,15 @@ static INLINE A_UINT8 *htt_ctrl_path_cal_type_id_to_name(A_UINT32 cal_type_id)
|
|||
}
|
||||
#endif /* HTT_CTRL_PATH_STATS_CAL_TYPE_STRINGS */
|
||||
|
||||
/*===================== Start GTX stats ====================*/
|
||||
#define HTT_NUM_MCS_PER_NSS 16
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
A_UINT32 gtx_enabled; /* shows whether Green Tx feature is enabled */
|
||||
A_INT32 mcs_tpc_min[HTT_NUM_MCS_PER_NSS]; /* shows current MCS's minimum TPC in 0.25dBm units */
|
||||
A_INT32 mcs_tpc_max[HTT_NUM_MCS_PER_NSS]; /* shows current MCS's maximum TPC in 0.25dBm units */
|
||||
A_UINT32 mcs_tpc_diff[HTT_NUM_MCS_PER_NSS]; /* shows current MCS's difference between maximum and minimum TPC in 0.25dB unit*/
|
||||
} htt_stats_gtx_tlv;
|
||||
/*===================== End GTX stats ====================*/
|
||||
|
||||
#endif /* __HTT_STATS_H__ */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022,2024 Qualcomm Innovation Center, Inc. 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
|
||||
|
|
@ -34,6 +34,22 @@
|
|||
#define TXMON_FW2SW_MON_FES_SETUP_SCHEDULE_ID_M 0xffffffff
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_SCHEDULE_ID_S 0
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_M 0x000fffff
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_S 0
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_M 0x000007ff
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_S 0
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_M 0x00003800
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_S 11
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_M 0x0007c000
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_S 14
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_M 0x00080000
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_S 19
|
||||
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_BAND_CENTER_FREQ1_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_BAND_CENTER_FREQ1_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_BAND_CENTER_FREQ1_S)
|
||||
|
|
@ -84,6 +100,58 @@
|
|||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_SCHEDULE_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_S)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE, _val); \
|
||||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_S)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM, _val); \
|
||||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_SEQ_NUM_S)); \
|
||||
} while (0)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_S)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(TXMON_FW2SW_MON_FES_SETUP_FW_COOKIEHW_LINK_ID, _val); \
|
||||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_HW_LINK_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_S)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID, _val); \
|
||||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_PACKET_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_GET(_var) \
|
||||
(((_var) & TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_M) >> \
|
||||
TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_S)
|
||||
|
||||
#define TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID, _val); \
|
||||
((_var) |= ((_val) << TXMON_FW2SW_MON_FES_SETUP_FW_COOKIE_VALID_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
enum txmon_fw2sw_user_id {
|
||||
TXMON_FW2SW_TYPE_FES_SETUP = 0, /* Placed after FES_SETUP */
|
||||
TXMON_FW2SW_TYPE_FES_SETUP_USER = 1, /* Placed before FES_SETUP_COMPLETE */
|
||||
|
|
@ -98,6 +166,8 @@ typedef struct txmon_fw2sw_fes_setup {
|
|||
mhz : 16,
|
||||
reserved : 8;
|
||||
A_UINT32 schedule_id;
|
||||
A_UINT32 fw_cookie : 20,
|
||||
rsvd : 12;
|
||||
} txmon_fw2sw_fes_setup_t;
|
||||
|
||||
typedef struct txmon_fw2sw_fes_setup_ext {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
|
|
@ -154,7 +154,7 @@ typedef enum {
|
|||
WLAN_MODULE_SMART_TX, /* 0x71 */
|
||||
WLAN_MODULE_BRIDGE_PEER, /* 0x72 */
|
||||
WLAN_MODULE_AUX_MAC_MGR, /* 0x73 */
|
||||
|
||||
WLAN_MODULE_TCAM, /* 0x74 */
|
||||
|
||||
WLAN_MODULE_ID_MAX,
|
||||
WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
|
||||
|
|
|
|||
|
|
@ -659,6 +659,9 @@ typedef enum {
|
|||
WMI_SERVICE_REG_CC_EXT2_EVENT_SUPPORT = 405, /* Indicate FW would send EXT2 REG_CC event having data which would be a continuation to EXT REG_CC event */
|
||||
WMI_SERVICE_MLO_MODE2_RECOVERY_SUPPORTED = 406, /* Indicate FW support for MLO mode2 recovery */
|
||||
WMI_SERVICE_MSDUQ_RECFG = 407, /* FW support the HTT MSDUQ_RECFG_REQ + MSDUQ_CFG_IND messages */
|
||||
WMI_SERVICE_TRAFFIC_CONTEXT_SUPPORT = 408, /* FW supports traffic context aware manager */
|
||||
WMI_SERVICE_STA_SAP_NDP_CONCURRENCY_SUPPORT = 409, /* FW supports STA + SAP + NDP concurrency */
|
||||
WMI_SERVICE_THERM_THROT_POUT_REDUCTION = 410, /* FW supports thermal throttling Pout reduction */
|
||||
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
|
|
|||
|
|
@ -1432,6 +1432,11 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_pdev_enable_xlna_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_set_custom_tx_power_per_mcs_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_active_traffic_map_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_request_opm_stats_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_vdev_bcn_tx_stats_struct,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_tx_stats_struct,
|
||||
WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -1978,6 +1983,9 @@ typedef enum {
|
|||
OP(WMI_PDEV_ENABLE_WIFI_RADAR_CMDID) \
|
||||
OP(WMI_PDEV_ENABLE_XLNA_CMDID) \
|
||||
OP(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID) \
|
||||
OP(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID) \
|
||||
OP(WMI_REQUEST_OPM_STATS_CMDID) \
|
||||
OP(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -4773,6 +4781,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_RESTART_REQUEST_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_update_pkt_routing_cmd_fixed_param, wmi_pdev_update_pkt_routing_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param, wmi_soc_tx_packet_custom_classify_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID);
|
||||
|
||||
/* Get cal version cmd */
|
||||
#define WMITLV_TABLE_WMI_PDEV_CHECK_CAL_VERSION_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param, wmi_pdev_check_cal_version_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
@ -5591,6 +5603,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_XLNA_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, txpower_bkoff_array, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);
|
||||
|
||||
/* cmd to Set active traffic type bitmap */
|
||||
#define WMITLV_TABLE_WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_active_traffic_map_cmd_fixed_param, wmi_peer_active_traffic_map_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID);
|
||||
|
||||
/* cmd to request Opportunistic Power Mgmt (OPM) stats */
|
||||
#define WMITLV_TABLE_WMI_REQUEST_OPM_STATS_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_opm_stats_cmd_fixed_param, wmi_request_opm_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_OPM_STATS_CMDID);
|
||||
|
||||
|
||||
|
||||
/************************** TLV definitions of WMI events *******************************/
|
||||
|
|
@ -7079,7 +7101,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_blanking_stats_struct, ctrl_path_blanking_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_peer_stats_struct, ctrl_path_peer_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_stats_struct, ctrl_path_vdev_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_sta_rrm_stats_struct, ctrl_path_sta_rrm_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_sta_rrm_stats_struct, ctrl_path_sta_rrm_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_vdev_bcn_tx_stats_struct, ctrl_path_vdev_bcn_tx_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_pdev_bcn_tx_stats_struct, ctrl_path_pdev_bcn_tx_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
|
||||
|
||||
/*
|
||||
|
|
|
|||
430
fw/wmi_unified.h
430
fw/wmi_unified.h
|
|
@ -1302,6 +1302,13 @@ typedef enum {
|
|||
/* WMI cmd used by host to send the switch response status to FW */
|
||||
WMI_AUDIO_TRANSPORT_SWITCH_RESP_STATUS_CMDID,
|
||||
|
||||
/** WMI command to set active traffic type bitmap for a peer */
|
||||
WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID,
|
||||
|
||||
/** WMI command to Request Opportunistic Power Mgmt (OPM) stats */
|
||||
WMI_REQUEST_OPM_STATS_CMDID,
|
||||
|
||||
|
||||
/* Offload 11k related requests */
|
||||
WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
|
||||
/* invoke neighbor report from FW */
|
||||
|
|
@ -1500,6 +1507,11 @@ typedef enum {
|
|||
WMI_SOC_SET_ANTENNA_MODE_CMDID,
|
||||
/** enable/disable TQM reset (SOC level) feature */
|
||||
WMI_SOC_TQM_RESET_ENABLE_DISABLE_CMDID,
|
||||
/*
|
||||
* WMI Command to enable custom classification of packets in Tx path
|
||||
* and specifiy packets of interest for classification.
|
||||
*/
|
||||
WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID,
|
||||
|
||||
/* packet filter commands */
|
||||
WMI_PACKET_FILTER_CONFIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_PKT_FILTER),
|
||||
|
|
@ -3452,6 +3464,11 @@ typedef struct {
|
|||
#define WMI_TARGET_CAP_ML_MONITOR_MODE_SUPPORT_SET(target_cap_flags, value) \
|
||||
WMI_SET_BITS(target_cap_flags, 14, 1, value)
|
||||
|
||||
#define WMI_TARGET_CAP_QDATA_TX_LCE_FILTER_SUPPORT_GET(target_cap_flags) \
|
||||
WMI_GET_BITS(target_cap_flags, 15, 1)
|
||||
#define WMI_TARGET_CAP_QDATA_TX_LCE_FILTER_SUPPORT_SET(target_cap_flags, value)\
|
||||
WMI_SET_BITS(target_cap_flags, 15, 1, value)
|
||||
|
||||
|
||||
/*
|
||||
* wmi_htt_msdu_idx_to_htt_msdu_qtype GET/SET APIs
|
||||
|
|
@ -3597,7 +3614,8 @@ typedef struct {
|
|||
* Bit12 - [ML-STA + SL-SAP] 0: not supported; 1:supported
|
||||
* Bit 13 - Support for multipass SAP
|
||||
* Bit 14 - Support for ML monitor mode
|
||||
* Bits 31:15 - Reserved
|
||||
* Bit 15 - Support for Qdata Tx LCE filter installation
|
||||
* Bits 31:16 - Reserved
|
||||
*/
|
||||
A_UINT32 target_cap_flags;
|
||||
|
||||
|
|
@ -4593,8 +4611,15 @@ typedef struct {
|
|||
* WMI_SERVICE_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SUPPORT flag.
|
||||
* Refer to WMI_RSRC_CFG_FLAGS2_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_GET
|
||||
* and _SET macros.
|
||||
* Bit 19 - show whether the host supports 128 or 256 service classes
|
||||
* This bit will be set when host supports for 256 service classes
|
||||
* 0 -> host supports 128 service classes
|
||||
* 1 -> host supports 255 [0-254] valid service classes,
|
||||
* and 255 indicates an invalid service class
|
||||
* Refer to WMI_RSRC_CFG_FLAGS2_SAWF_255_SVC_CLASS_SUPPORT_GET/SET
|
||||
* macros.
|
||||
*
|
||||
* Bits 31:19 - Reserved
|
||||
* Bits 31:20 - Reserved
|
||||
*/
|
||||
A_UINT32 flags2;
|
||||
/** @brief host_service_flags - can be used by Host to indicate
|
||||
|
|
@ -5084,6 +5109,11 @@ typedef struct {
|
|||
#define WMI_RSRC_CFG_FLAGS2_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 18, 1, value)
|
||||
|
||||
#define WMI_RSRC_CFG_FLAGS2_SAWF_255_SVC_CLASS_SUPPORT_GET(flags2) \
|
||||
WMI_GET_BITS(flags2, 19, 1)
|
||||
#define WMI_RSRC_CFG_FLAGS2_SAWF_255_SVC_CLASS_SUPPORT_SET(flags2, value) \
|
||||
WMI_SET_BITS(flags2, 19, 1, value)
|
||||
|
||||
|
||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \
|
||||
WMI_GET_BITS(host_service_flags, 0, 1)
|
||||
|
|
@ -5250,6 +5280,7 @@ typedef enum {
|
|||
WMI_VENDOR1_REQ1_VERSION_3_30 = 3,
|
||||
WMI_VENDOR1_REQ1_VERSION_3_40 = 4,
|
||||
WMI_VENDOR1_REQ1_VERSION_4_00 = 5,
|
||||
WMI_VENDOR1_REQ1_VERSION_4_10 = 6,
|
||||
} WMI_VENDOR1_REQ1_VERSION;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -5600,6 +5631,11 @@ typedef enum {
|
|||
WMI_GET_BITS_ARRAY_LEN32_BYTES(var, feature_bitmap, 158, 1)
|
||||
#define WMI_SET_STA_P2P_NAN_TDLS_SUPPORT(feature_bitmap, val) \
|
||||
WMI_SET_BITS_ARRAY_LEN32_BYTES(feature_bitmap, 158, 1, val)
|
||||
/* NAN EHT supported info */
|
||||
#define WMI_GET_NAN_EHT_SUPPORT(var, feature_bitmap) \
|
||||
WMI_GET_BITS_ARRAY_LEN32_BYTES(var, feature_bitmap, 159, 1)
|
||||
#define WMI_SET_NAN_EHT_SUPPORT(feature_bitmap, val) \
|
||||
WMI_SET_BITS_ARRAY_LEN32_BYTES(feature_bitmap, 159, 1, val)
|
||||
|
||||
/*
|
||||
* Specify how many A_UINT32 words are needed to hold the feature bitmap flags.
|
||||
|
|
@ -6155,8 +6191,15 @@ typedef struct {
|
|||
|
||||
|
||||
#define MAX_NUM_CHAN_PER_WMI_CMD 58 /* each WMI cmd can hold 58 channel entries at most */
|
||||
#define APPEND_TO_EXISTING_CHAN_LIST 1
|
||||
#define CHANNEL_MAX_BANDWIDTH_VALID 2
|
||||
#define WMI_APPEND_TO_EXISTING_CHAN_LIST 0x1
|
||||
#define WMI_CHANNEL_MAX_BANDWIDTH_VALID 0x2
|
||||
#define WMI_HONOR_HOST_6GHZ_CHANNEL_PASSIVE 0x4
|
||||
/*
|
||||
* To preserve backwards compatibility, retain old names (without WMI_ prefix)
|
||||
* as aliases for the corrected names (with WMI_ prefix).
|
||||
*/
|
||||
#define APPEND_TO_EXISTING_CHAN_LIST WMI_APPEND_TO_EXISTING_CHAN_LIST
|
||||
#define CHANNEL_MAX_BANDWIDTH_VALID WMI_CHANNEL_MAX_BANDWIDTH_VALID
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_chan_list_cmd_fixed_param */
|
||||
|
|
@ -7266,6 +7309,9 @@ typedef struct {
|
|||
#define WMI_TX_SEND_FLAG_SET_PS_BUFFERING_FOR_SA_QUERY 0x00000002
|
||||
#define WMI_TX_SEND_FLAG_SET_PS_BUFFERING_FOR_SA_QUERY_GET(tx_flags) WMI_GET_BITS(tx_flags, 1, 1)
|
||||
#define WMI_TX_SEND_FLAG_SET_PS_BUFFERING_FOR_SA_QUERY_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 1, 1, value)
|
||||
#define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY 0x00000004
|
||||
#define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY_GET(tx_flags) WMI_GET_BITS(tx_flags, 2, 1)
|
||||
#define WMI_TX_SEND_FLAG_SET_IS_SA_QUERY_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 2, 1, value)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_send_params */
|
||||
|
|
@ -10065,6 +10111,16 @@ typedef enum {
|
|||
WMI_MGMT_TX_COMP_TYPE_MAX,
|
||||
} WMI_MGMT_TX_COMP_STATUS_TYPE;
|
||||
|
||||
#define WMI_VDEV_ID_VALID_FROM_INFO_GET(info) \
|
||||
WMI_GET_BITS(info, 3, 1)
|
||||
#define WMI_VDEV_ID_VALID_FROM_INFO_SET(info,val) \
|
||||
WMI_SET_BITS(info, 3, 1, val)
|
||||
|
||||
#define WMI_VDEV_ID_FROM_INFO_GET(info) \
|
||||
WMI_GET_BITS(info, 4, 8)
|
||||
#define WMI_VDEV_ID_FROM_INFO_SET(info,val) \
|
||||
WMI_SET_BITS(info, 4, 8, val)
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 desc_id; /* from tx_send_cmd */
|
||||
|
|
@ -10098,7 +10154,11 @@ typedef struct {
|
|||
* one of the wmi_mlo_band_info_t enum constants.
|
||||
* Macros WMI_ROAM_BTM_RESP_MLO_BAND_INFO_GET,SET
|
||||
* can be reused for setting mlo band info.
|
||||
* Bit[3:31] - reserved
|
||||
* Bit[3] - set when vdev_id_info is populated in Bit[4:11]
|
||||
* macros WMI_VDEV_ID_VALID_FROM_INFO_GET,SET can be used
|
||||
* Bit[4:11] - vdev_id on which frame is sent,
|
||||
* Macros WMI_VDEV_ID_FROM_INFO_GET,SET can be used
|
||||
* Bit[12:31] - reserved
|
||||
*/
|
||||
A_UINT32 info;
|
||||
} wmi_mgmt_tx_compl_event_fixed_param;
|
||||
|
|
@ -13556,6 +13616,27 @@ typedef struct {
|
|||
#define WMI_PMLO_DL_AIRTIME_NON_AC_GET(airtime) WMI_GET_BITS(airtime, 24, 8)
|
||||
#define WMI_PMLO_DL_AIRTIME_NON_AC_SET(airtime, value) WMI_SET_BITS(airtime, 24, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_GET_BE(airtime) WMI_GET_BITS(airtime, 0, 8)
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_SET_BE(airtime, value) WMI_SET_BITS(airtime, 0, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_GET_BK(airtime) WMI_GET_BITS(airtime, 8, 8)
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_SET_BK(airtime, value) WMI_SET_BITS(airtime, 8, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_GET_VI(airtime) WMI_GET_BITS(airtime, 16, 8)
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_SET_VI(airtime, value) WMI_SET_BITS(airtime, 16, 8, value)
|
||||
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_GET_VO(airtime) WMI_GET_BITS(airtime, 24, 8)
|
||||
#define WMI_PMLO_UL_DL_PAYLOAD_RATIO_SET_VO(airtime, value) WMI_SET_BITS(airtime, 24, 8, value)
|
||||
|
||||
/** Traffic condition used in estimating the available airtime value */
|
||||
typedef enum {
|
||||
WMI_PDEV_TRAFFIC_LIGHT = 0,
|
||||
WMI_PDEV_TRAFFIC_MEDIUM = 1,
|
||||
WMI_PDEV_TRAFFIC_HEAVY = 2,
|
||||
WMI_PDEV_TRAFFIC_SATURATION = 3,
|
||||
WMI_PDEV_TRAFFIC_MEDIUM_AND_OBSS = 4,
|
||||
} wmi_pdev_traffic_condition;
|
||||
|
||||
/*
|
||||
* The wmi_ctrl_path_pmlo_stats_struct is used to send Provisional MLO stats
|
||||
* the WMI_CTRL_PATH_STATS_EVENT message, in response to a
|
||||
|
|
@ -13657,6 +13738,112 @@ typedef struct {
|
|||
};
|
||||
A_UINT32 ul_dl_obss_free_aa_word32;
|
||||
};
|
||||
|
||||
/*
|
||||
* Traffic condition used in estimating the available airtime value.
|
||||
* Refer to enum wmi_pdev_traffic_condition
|
||||
* traffic_condition_used_per_ac[0] : AC_VO
|
||||
* traffic_condition_used_per_ac[1] : AC_VI
|
||||
* traffic_condition_used_per_ac[2] : AC_BE
|
||||
* traffic_condition_used_per_ac[3] : AC_BK
|
||||
* Saturation Traffic condition is evaluated to true when the number
|
||||
* of associated stations and the number of active TIDs per access
|
||||
* category crosses a threshold.
|
||||
* Light Traffic condition is evaluated to true when the obss_rx_airtime
|
||||
* is less than a threshold and the free channel is greater than the sum
|
||||
* of DL and UL airtime per client.
|
||||
* Heavy Traffic condition is evaluated to true when the free channel is
|
||||
* less than a particular threshold and the number of active TIDs per
|
||||
* access category crosses a threshold.
|
||||
* OBSS (Medium) Traffic condition is evaluated to true when the
|
||||
* obss_rx_airtime crosses a threshold.
|
||||
* Medium Traffic case is carried out if all the above mentioned
|
||||
* conditions evaluate to false.
|
||||
*/
|
||||
A_UINT32 traffic_condition_used_per_ac[WMI_AC_MAX];
|
||||
|
||||
/*
|
||||
* Every PPDU has an associated txop overhead value in its PPDU duration.
|
||||
* In order to consider only the duration taken to transfer the actual
|
||||
* data, we estimate the payload ratio.
|
||||
* The packet overhead is accumulated for each PPDU, where it is recorded
|
||||
* for each access category separately.
|
||||
* The payload_ratio_dl values indicate the percentage of actual data
|
||||
* packets' duration in the entire TX duration by omitting the overhead
|
||||
* (units are percentage).
|
||||
* By estimating the payload ratio, we would be able to further measure
|
||||
* the free channel with increased accuracy.
|
||||
*
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer to WMI_PMLO_UL_DL_PAYLOAD_RATIO_* macros
|
||||
* to retrieve values for each access category in payload_ratio_dl_per_ac.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32
|
||||
payload_ratio_dl_ac_be: 8,
|
||||
payload_ratio_dl_ac_bk: 8,
|
||||
payload_ratio_dl_ac_vi: 8,
|
||||
payload_ratio_dl_ac_vo: 8;
|
||||
};
|
||||
A_UINT32 payload_ratio_dl_per_ac;
|
||||
};
|
||||
|
||||
/*
|
||||
* Every PPDU has an associated txop overhead value in its PPDU duration.
|
||||
* In order to consider only the duration taken to transfer the actual
|
||||
* data, we estimate the payload ratio.
|
||||
* The packet overhead is accumulated for each PPDU, where it is recorded
|
||||
* for each access category separately.
|
||||
* The payload_ratio_ul values indicate the percentage of actual data
|
||||
* packets' duration in the entire RX duration by omitting the overhead
|
||||
* (Units are percentage).
|
||||
* By estimating the payload ratio, we would be able to further measure
|
||||
* the free channel with increased accuracy.
|
||||
*
|
||||
* BIT[0-7] : AC_BE
|
||||
* BIT[8-15] : AC_BK
|
||||
* BIT[16-23] : AC_VI
|
||||
* BIT[24-31] : AC_VO
|
||||
* Please refer to WMI_PMLO_UL_DL_PAYLOAD_RATIO_* macros
|
||||
* to retrieve values for each access category in payload_ratio_ul_per_ac.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
A_UINT32
|
||||
payload_ratio_ul_ac_be: 8,
|
||||
payload_ratio_ul_ac_bk: 8,
|
||||
payload_ratio_ul_ac_vi: 8,
|
||||
payload_ratio_ul_ac_vo: 8;
|
||||
};
|
||||
A_UINT32 payload_ratio_ul_per_ac;
|
||||
};
|
||||
|
||||
/*
|
||||
* Error margin of the estimated available airtime per AC,
|
||||
* units are percentage.
|
||||
* error_margin_per_ac[0] : AC_VO
|
||||
* error_margin_per_ac[1] : AC_VI
|
||||
* error_margin_per_ac[2] : AC_BE
|
||||
* error_margin_per_ac[3] : AC_BK
|
||||
*/
|
||||
A_UINT32 error_margin_per_ac[WMI_AC_MAX];
|
||||
|
||||
/*
|
||||
* This parameter indicates the number of clients which would be
|
||||
* considered to estimate the available airtime value during
|
||||
* imbalanced traffic scenarios
|
||||
* Value 0 indicates that we do not have imbalanced traffic.
|
||||
* num_of_ul/dl_asymmetric_clients_per_ac[0] : AC_VO
|
||||
* num_of_ul/dl_asymmetric_clients_per_ac[1] : AC_VI
|
||||
* num_of_ul/dl_asymmetric_clients_per_ac[2] : AC_BE
|
||||
* num_of_ul/dl_asymmetric_clients_per_ac[3] : AC_BK
|
||||
*/
|
||||
A_UINT32 num_of_ul_asymmetric_clients_per_ac[WMI_AC_MAX];
|
||||
A_UINT32 num_of_dl_asymmetric_clients_per_ac[WMI_AC_MAX];
|
||||
} wmi_ctrl_path_pmlo_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -16072,6 +16259,55 @@ typedef struct {
|
|||
A_UINT32 dot11RTSFailureCount;
|
||||
} wmi_ctrl_path_sta_rrm_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_vdev_bcn_stats_struct */
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 beacon_succ_cnt;
|
||||
A_UINT32 beacon_outage_cnt;
|
||||
A_UINT32 beacon_cons_miss_cnt;
|
||||
A_UINT32 beacon_curr_miss_cnt;
|
||||
A_UINT32 beacon_sw_abort_cnt;
|
||||
A_UINT32 beacon_tx_filter_cnt;
|
||||
A_UINT32 beacon_tx_xretry_cnt;
|
||||
A_UINT32 beacon_tx_drop_cnt;
|
||||
A_UINT32 beacon_tx_abort_cnt;
|
||||
A_UINT32 beacon_tx_tid_del_cnt;
|
||||
A_UINT32 beacon_tx_mig_drop_cnt;
|
||||
A_UINT32 beacon_fail_others_cnt;
|
||||
A_UINT32 beacon_stuck_cnt;
|
||||
A_UINT32 beacon_tbtt_skip_cnt;
|
||||
A_UINT32 beacon_swba_cnt;
|
||||
A_UINT32 beacon_enque_fail;
|
||||
A_UINT32 scan_time_exceed_cnt;
|
||||
A_UINT32 beacon_miss_systime_gap_us;
|
||||
A_UINT32 beacon_last_miss_time_low_us;
|
||||
A_UINT32 beacon_last_miss_time_high_us;
|
||||
A_UINT32 last_tbtt_time_low_us;
|
||||
A_UINT32 last_tbtt_time_high_us;
|
||||
A_UINT32 last_tbtt_update_low_us;
|
||||
A_UINT32 last_tbtt_update_high_us;
|
||||
} wmi_ctrl_path_vdev_bcn_tx_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_stats_struct */
|
||||
A_UINT32 tlv_header;
|
||||
A_UINT32 pdev_id;
|
||||
A_UINT32 beacon_succ_cnt;
|
||||
A_UINT32 beacon_outage_cnt;
|
||||
A_UINT32 beacon_sw_abort_cnt;
|
||||
A_UINT32 beacon_tx_filter_cnt;
|
||||
A_UINT32 beacon_tx_xretry_cnt;
|
||||
A_UINT32 beacon_tx_drop_cnt;
|
||||
A_UINT32 beacon_tx_abort_cnt;
|
||||
A_UINT32 beacon_tx_tid_del_cnt;
|
||||
A_UINT32 beacon_tx_mig_drop_cnt;
|
||||
A_UINT32 beacon_fail_others_cnt;
|
||||
A_UINT32 beacon_stuck_cnt;
|
||||
A_UINT32 beacon_swba_cnt;
|
||||
A_UINT32 beacon_enque_fail;
|
||||
} wmi_ctrl_path_pdev_bcn_tx_stats_struct;
|
||||
|
||||
/**
|
||||
* peer statistics.
|
||||
*/
|
||||
|
|
@ -18543,6 +18779,11 @@ typedef enum {
|
|||
/* VDEV parameter to configure Telescopic DTIM count */
|
||||
WMI_VDEV_PARAM_TELESDTIM_CNT, /* 0xC3 */
|
||||
|
||||
/* Configure minimum DTIM level used by Telescopic DTIM */
|
||||
WMI_VDEV_PARAM_MIN_TELES_DTIM_LVL, /* 0xC4 */
|
||||
|
||||
/* Set HW CTS2SELF before DL OFDMA Sequence */
|
||||
WMI_VDEV_PARAM_HWCTS2SELF_OFDMA, /* 0xC5 */
|
||||
|
||||
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
|
||||
* The below vdev param types are used for prototyping, and are
|
||||
|
|
@ -22732,6 +22973,12 @@ typedef enum {
|
|||
WMI_BL_REASON_REASSOC_RSSI_REJECT,
|
||||
/* Reassoc resp with status code 17 - DENIED_NO_MORE_STAS */
|
||||
WMI_BL_REASON_REASSOC_NO_MORE_STAS,
|
||||
WMI_BL_REASON_BASIC_RATES_MIS_MATCH, /* Status code 18 */
|
||||
WMI_BL_REASON_EHT_NOT_SUPPORTED, /* Status code 135 */
|
||||
WMI_BL_REASON_EXISTING_MLD_ASSOCIATION, /* Status code 130 */
|
||||
WMI_BL_REASON_LINK_TRANSMITTED_NOT_ACCEPTED, /* Status code 139 */
|
||||
WMI_BL_REASON_DENIED_OTHER_REASON,
|
||||
WMI_BL_REASON_BTM_LOAD_BALANCE,
|
||||
} WMI_BLACKLIST_REASON_ID;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -22739,6 +22986,8 @@ typedef enum {
|
|||
WMI_BL_SOURCE_FW,
|
||||
} WMI_BLACKLIST_SOURCE_ID;
|
||||
|
||||
#define WMI_MAX_FAILED_LINK_COMBO_COUNT 10
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_blacklist_with_timeout_tlv_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
|
@ -22761,11 +23010,18 @@ typedef struct {
|
|||
/* Original timeout value in milli seconds when AP added to BL */
|
||||
A_UINT32 original_timeout;
|
||||
/*
|
||||
* If disallow_linkid_bitmap is not 0, then means current entity
|
||||
* is for MLD AP and bssid field is standing for MLD address.
|
||||
* If all links for MLD AP is disallow, then the value shall be 0xffffffff
|
||||
* The disallow link ID bitmap indicates links which should not be allowed
|
||||
* for any assoc or partner link combination.
|
||||
* If all links for MLD AP are disallowed, then the value shall be
|
||||
* 0xffffffff.
|
||||
*/
|
||||
A_UINT32 disallow_linkid_bitmap;
|
||||
/* MLD address of AP */
|
||||
wmi_mac_addr mld;
|
||||
/* List of link combinations for which association is failed */
|
||||
A_UINT32 ml_failed_links_combo_bitmap[WMI_MAX_FAILED_LINK_COMBO_COUNT];
|
||||
/* Failed link combo count filled in ml_failed_links_combo_bitmap[] */
|
||||
A_UINT32 ml_failed_link_combo_count;
|
||||
} wmi_roam_blacklist_with_timeout_tlv_param;
|
||||
|
||||
/** WMI_ROAM_BLACKLIST_EVENT: generated whenever STA needs to move AP to blacklist for a particluar time
|
||||
|
|
@ -35341,6 +35597,8 @@ typedef enum {
|
|||
WMI_REQUEST_CTRL_PATH_PEER_STAT = 16,
|
||||
WMI_REQUEST_CTRL_PATH_VDEV_DEBUG_STAT = 17,
|
||||
WMI_REQUEST_CTRL_STA_RRM_STAT = 18,
|
||||
WMI_REQUEST_CTRL_PATH_VDEV_BCN_TX_STAT = 19,
|
||||
WMI_REQUEST_CTRL_PATH_PDEV_BCN_TX_STAT = 20,
|
||||
} wmi_ctrl_path_stats_id;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -36531,27 +36789,38 @@ typedef struct {
|
|||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_therm_throt_level_config_info */
|
||||
A_UINT32 tlv_header;
|
||||
/**
|
||||
* temperature sensor value in celsius when to exit to lower zone,
|
||||
* this value can be lower than HWM of lower zone as zone overlapping
|
||||
* is permitted by design to provide hysteresis
|
||||
*/
|
||||
/** temp_lwm:
|
||||
* temperature sensor value in celsius when to exit to lower zone,
|
||||
* this value can be lower than HWM of lower zone as zone overlapping
|
||||
* is permitted by design to provide hysteresis
|
||||
*/
|
||||
A_UINT32 temp_lwm;
|
||||
/**
|
||||
* temperature sensor value in celsius when to exit to higher zone,
|
||||
* this value can be higher than LWM of higher zone as zone overlapping
|
||||
* is permitted by design to provide hysteresis
|
||||
*/
|
||||
/** temp_hwm:
|
||||
* temperature sensor value in celsius when to exit to higher zone,
|
||||
* this value can be higher than LWM of higher zone as zone overlapping
|
||||
* is permitted by design to provide hysteresis
|
||||
*/
|
||||
A_UINT32 temp_hwm;
|
||||
A_UINT32 dc_off_percent; /* duty cycle off percent 0-100. 0 means no off, 100 means no on (shutdown the phy) */
|
||||
/** Disable only the transmit queues in firmware that have lower priority than value defined by prio
|
||||
* Prioritization:
|
||||
* 0 = disable all data tx queues, No Prioritization defined
|
||||
* 1 = disable BK tx queue
|
||||
* 2 = disable BK+BE tx queues
|
||||
* 3 = disable BK+BE+VI tx queues
|
||||
*/
|
||||
/** dc_off_percent:
|
||||
* duty cycle off percent 0-100.
|
||||
* 0 means no off, 100 means no on (shutdown the phy).
|
||||
*/
|
||||
A_UINT32 dc_off_percent;
|
||||
/** prio:
|
||||
* Disable only the transmit queues in firmware that have lower priority
|
||||
* than value defined by prio.
|
||||
* Prioritization:
|
||||
* 0 = disable all data tx queues, No Prioritization defined
|
||||
* 1 = disable BK tx queue
|
||||
* 2 = disable BK+BE tx queues
|
||||
* 3 = disable BK+BE+VI tx queues
|
||||
*/
|
||||
A_UINT32 prio;
|
||||
/**
|
||||
* Pout power reduction in 0.25 dB units.
|
||||
* For example, a value of 5 causes a power reduction of 1.25 dB.
|
||||
*/
|
||||
A_UINT32 pout_reduction_25db;
|
||||
} wmi_therm_throt_level_config_info;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -37502,6 +37771,9 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_VDEV_GET_TWT_SESSION_STATS_INFO_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PDEV_ENABLE_XLNA_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PDEV_SET_CUSTOM_TX_POWER_PER_MCS_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PEER_ACTIVE_TRAFFIC_MAP_CMDID);
|
||||
WMI_RETURN_STRING(WMI_REQUEST_OPM_STATS_CMDID);
|
||||
WMI_RETURN_STRING(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
|
|
@ -38498,7 +38770,33 @@ typedef enum {
|
|||
WMI_PDEV_WIFIRXCCE_USE_CCE2_E = 3,
|
||||
} wmi_pdev_dest_ring_handler_type;
|
||||
|
||||
/* This command shall be sent only when no VDEV is up. If the command is sent after any VDEV is up, target will ignore the command */
|
||||
typedef enum {
|
||||
WMI_SOC_TX_PACKET_TYPE_ARP = 1,
|
||||
WMI_SOC_TX_PACKET_TYPE_EAPOL = 2,
|
||||
WMI_SOC_TX_PACKET_TYPE_DHCP = 3,
|
||||
WMI_SOC_TX_PACKET_TYPE_DNS = 4,
|
||||
WMI_SOC_TX_PACKET_TYPE_ICMP = 5,
|
||||
} wmi_soc_tx_packet_type;
|
||||
|
||||
/*
|
||||
* This command shall be sent only when no VDEV is up.
|
||||
* If the command is sent after any VDEV is up, target will ignore the command.
|
||||
*/
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** packet_bitmap:
|
||||
* bitmap of the packets to be classified,
|
||||
* Refer to wmi_soc_tx_packet_type for the interpretation of the bits
|
||||
* within the bitmap.
|
||||
*/
|
||||
A_UINT32 packet_bitmap;
|
||||
} wmi_soc_tx_packet_custom_classify_cmd_fixed_param;
|
||||
|
||||
/*
|
||||
* This command shall be sent only when no VDEV is up.
|
||||
* If the command is sent after any VDEV is up, target will ignore the command.
|
||||
*/
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_update_pkt_routing_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
|
@ -38735,10 +39033,17 @@ typedef struct {
|
|||
#define WLM_FLAGS_PS_DISABLE_MLO_PROBE_SCAN 1 /* disable MLO probe scan */
|
||||
|
||||
/* bit 24: WLM_FLAGS_PS_DISABLE_ULL_FORCED_MLMR,
|
||||
* disable forced MLMR on ULL if bit is set
|
||||
* Disable forced MLMR on ULL if bit is set.
|
||||
* (MLMR may still happen due to other reasons.)
|
||||
*/
|
||||
#define WLM_FLAGS_PS_DISABLE_ULL_FORCED_MLMR 1 /* disable forced MLMR on ULL */
|
||||
|
||||
/* bit 25: WLM_FLAGS_PS_DISABLE_ULL_FORCED_EMLSR,
|
||||
* Disable forced EMLSR on ULL if bit is set.
|
||||
* (eMLSR may still happen due to other reasons.)
|
||||
*/
|
||||
#define WLM_FLAGS_PS_DISABLE_ULL_FORCED_EMLSR 1 /* disable forced EMLSR on ULL */
|
||||
|
||||
#define WLM_FLAGS_SCAN_IS_SUPPRESS(flag) WMI_GET_BITS(flag, 0, 1)
|
||||
#define WLM_FLAGS_SCAN_SET_SUPPRESS(flag, val) WMI_SET_BITS(flag, 0, 1, val)
|
||||
#define WLM_FLAGS_SCAN_IS_SKIP_DFS(flag) WMI_GET_BITS(flag, 1, 1)
|
||||
|
|
@ -38776,6 +39081,8 @@ typedef struct {
|
|||
#define WLM_FLAGS_PS_SET_MLO_PROBE_SCAN_DISABLE(flag, val) WMI_SET_BITS(flag, 23, 1, val)
|
||||
#define WLM_FLAGS_PS_IS_ULL_FORCED_MLMR_DISABLED(flag) WMI_GET_BITS(flag, 24, 1)
|
||||
#define WLM_FLAGS_PS_SET_ULL_FORCED_MLMR_DISABLE(flag, val) WMI_SET_BITS(flag, 24, 1, val)
|
||||
#define WLM_FLAGS_PS_IS_ULL_FORCED_EMLSR_DISABLED(flag) WMI_GET_BITS(flag, 25, 1)
|
||||
#define WLM_FLAGS_PS_SET_ULL_FORCED_EMLSR_DISABLE(flag, val) WMI_SET_BITS(flag, 25, 1, val)
|
||||
#define WLM_FLAGS_SET_FORCE_DEFAULT_LATENCY(flag, val) WMI_SET_BITS(flag, 0, 1, val)
|
||||
#define WLM_FLAGS_GET_FORCE_DEFAULT_LATENCY(flag) WMI_GET_BITS(flag, 0, 1)
|
||||
|
||||
|
|
@ -39921,11 +40228,18 @@ typedef struct {
|
|||
/* Original timeout value in milli seconds when AP added to BL */
|
||||
A_UINT32 original_timeout;
|
||||
/*
|
||||
* If disallow_linkid_bitmap is not 0, then means current entity
|
||||
* is for MLD AP and bssid field is standing for MLD address.
|
||||
* If all links for MLD AP is disallow, then the value shall be 0xffffffff
|
||||
* The disallow link ID bitmap indicates links which should not be allowed
|
||||
* for any assoc or partner link combination.
|
||||
* If all links for MLD AP are disallowed, then the value shall be
|
||||
* 0xffffffff.
|
||||
*/
|
||||
A_UINT32 disallow_linkid_bitmap;
|
||||
/* MLD address of AP */
|
||||
wmi_mac_addr mld;
|
||||
/* List of link combinations for which association is failed */
|
||||
A_UINT32 ml_failed_links_combo_bitmap[WMI_MAX_FAILED_LINK_COMBO_COUNT];
|
||||
/* Failed link combo count filled in ml_failed_links_combo_bitmap[] */
|
||||
A_UINT32 ml_failed_link_combo_count;
|
||||
} wmi_pdev_bssid_disallow_list_config_param;
|
||||
|
||||
typedef enum {
|
||||
|
|
@ -40865,6 +41179,13 @@ typedef struct {
|
|||
* each bit represents.
|
||||
*/
|
||||
A_UINT32 disallow_connect_modes;
|
||||
|
||||
/*
|
||||
* If max_link_combo_count is non-zero, STA should try to roam to next
|
||||
* candidate once max allowed link combinations is reached with current
|
||||
* candidate AP.
|
||||
*/
|
||||
A_UINT32 max_link_combo_count;
|
||||
} wmi_roam_mlo_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -48113,6 +48434,53 @@ typedef struct {
|
|||
A_UINT32 status;
|
||||
} wmi_pdev_enable_xlna_event_fixed_param;
|
||||
|
||||
/**
|
||||
* bits 0-15 are used for non interative traffic types like video streaming,
|
||||
* or ping
|
||||
* bit 16-31 are reserved for interactive traffic types like gaming, VoIP,
|
||||
* or video conferencing
|
||||
*/
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_STREAMING_M 0x00000001
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_STREAMING_S 0
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_PING_M 0x00000002
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_PING_S 1
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_BACKGROUND_M 0x00000004
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_BACKGROUND_S 2
|
||||
/* bits 3-15 are reserved for new non-interactive traffic types */
|
||||
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_GAMING_M 0x00010000
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_GAMING_S 16
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_VOIP_M 0x00020000
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_VOIP_S 17
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_VIDEO_CONF_M 0x00040000
|
||||
#define WMI_PEER_ACTIVE_TRAFFIC_TYPE_VIDEO_CONF_S 18
|
||||
/* bits 19-31 are reserved for new interactive traffic types */
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_active_traffic_map_cmd_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
wmi_mac_addr peer_macaddr; /* peer MAC address */
|
||||
/* active_traffic_map:
|
||||
* This field is a bitmap showing traffic types known to be currently
|
||||
* present within the vdev.
|
||||
* Refer to the WMI_PEER_ACTIVE_TRAFFIC_ definitions that specify which
|
||||
* bits within the bitmap correspond to which traffic types.
|
||||
*/
|
||||
A_UINT32 active_traffic_map;
|
||||
} wmi_peer_active_traffic_map_cmd_fixed_param;
|
||||
|
||||
|
||||
/*
|
||||
* WMI_REQUEST_OPM_STATS_CMDID triggered by host to collect OPM stats for trafic types identified by STC
|
||||
* in respose this FW will send OEM_respose_event_id WMI_OEM_DATA_CMD_OPM_STATS
|
||||
*
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_request_opm_stats_cmd_fixed_param */
|
||||
A_UINT32 pdev_id; /** pdev_id for identifying the MAC */
|
||||
} wmi_request_opm_stats_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_ 1458
|
||||
#define __WMI_REVISION_ 1473
|
||||
|
||||
/** 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