Skip to content

Commit

Permalink
Merge 50c4615 on remote branch
Browse files Browse the repository at this point in the history
Change-Id: I7e02307d891371397cf13e1a74fee57fede91d50
  • Loading branch information
Linux Build Service Account committed Apr 6, 2022
2 parents 482bac5 + 50c4615 commit e2ce431
Show file tree
Hide file tree
Showing 12 changed files with 367 additions and 46 deletions.
76 changes: 45 additions & 31 deletions fw/htt.h
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,8 @@ enum HTT_OPTION_TLV_TAGS {
HTT_OPTION_TLV_TAG_TCL_METADATA_VER = 0x5,
};

#define HTT_TCL_METADATA_VER_SZ 4

PREPACK struct htt_option_tlv_header_t {
A_UINT8 tag;
A_UINT8 length;
Expand Down Expand Up @@ -5682,10 +5684,11 @@ enum htt_srng_ring_id {
* phyrx_abort_request_reason enum definition.
* dword14- b'0:15 - rx_mpdu_start_word_mask: word mask for rx mpdu start,
* applicable if word mask enabled
* - b'16:31 - rx_mpdu_end_word_mask: word mask value for rx mpdu end,
* - b'16:18 - rx_mpdu_end_word_mask: word mask value for rx mpdu end,
* applicable if word mask enabled
* - b'19:31 - rsvd7
* dword15- b'0:16 - rx_msdu_end_word_mask
b'17:31 - rsvd5
* - b'17:31 - rsvd5
* dword17- b'0 - en_rx_tlv_pkt_offset:
* 0: RX_PKT TLV logging at offset 0 for the subsequent
* buffer
Expand Down Expand Up @@ -5738,7 +5741,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
A_UINT32 phy_err_mask;
A_UINT32 phy_err_mask_cont;
A_UINT32 rx_mpdu_start_word_mask:16,
rx_mpdu_end_word_mask: 16;
rx_mpdu_end_word_mask: 3,
rsvd7: 13;
A_UINT32 rx_msdu_end_word_mask: 17,
rsvd5: 15;
A_UINT32 en_rx_tlv_pkt_offset: 1,
Expand Down Expand Up @@ -6182,15 +6186,15 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)); \
} while (0)

#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M 0xFFFF0000
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M 0x00070000
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S 16
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_GET(_var) \
(((_var) & HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_M)>> \
HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_SET(_var, _val) \
HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S)
#define HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK, _val);\
((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MPDU_START_WORD_MASK_S)); \
HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK, _val);\
((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_MPDU_END_WORD_MASK_S)); \
} while (0)

#define HTT_RX_RING_SELECTION_CFG_RX_MSDU_END_WORD_MASK_M 0x0001FFFF
Expand Down Expand Up @@ -18088,15 +18092,15 @@ PREPACK struct htt_t2h_sawf_def_queues_map_report_conf {
* of the newly created MSDUQ and some other identifiers to uniquely identity
* the newly created MSDUQ
*
* |31 27| 24|23 16|15 11|10|9 8|7 4|3 0|
* |------------------------------+----------------------+--------------|
* | peer ID | HTT qtype | msg type |
* |--------+---------------------+---------------+--+---+-------+------|
* |reserved| Ast Index |FO|WC | HLOS | remap|
* | | | | | TID | TID |
* |---------------------+----------------------------------------------|
* | reserved1 | tgt_opaque_id |
* |---------------------+----------------------------------------------|
* |31 27| 24|23 16|15|14 11|10|9 8|7 4|3 0|
* |------------------------------+------------------------+--------------|
* | peer ID | HTT qtype | msg type |
* |---------------------------------+--------------+--+---+-------+------|
* | reserved |AST list index|FO|WC | HLOS | remap|
* | | | | | TID | TID |
* |---------------------+------------------------------------------------|
* | reserved1 | tgt_opaque_id |
* |---------------------+------------------------------------------------|
*
* Header fields:
*
Expand All @@ -18112,10 +18116,20 @@ PREPACK struct htt_t2h_sawf_def_queues_map_report_conf {
* TCL Data Command : Beryllium
* b10 - flow_override (FO), as sent by host in
* TCL Data Command: Beryllium
* b11:26 - ast_index
* Dummy AST Index in case of Lithium,
* Default AST Index in case of Beryllium
* b27:32 - reserved
* b11:14 - ast_list_idx
* Array index into the list of extension AST entries
* (not the actual AST 16-bit index).
* The ast_list_idx is one-based, with the following
* range of values:
* - legacy targets supporting 16 user-defined
* MSDU queues: 1-2
* - legacy targets supporting 48 user-defined
* MSDU queues: 1-6
* - new targets: 0 (peer_id is used instead)
* Note that since ast_list_idx is one-based,
* the host will need to subtract 1 to use it as an
* index into a list of extension AST entries.
* b15:31 - reserved
*
* dword2 - b'23:0 - tgt_opaque_id Opaque Tx flow number which is a
* unique MSDUQ id in firmware
Expand All @@ -18130,8 +18144,8 @@ PREPACK struct htt_t2h_sawf_msduq_event {
hlos_tid : 4,
who_classify_info_sel : 2,
flow_override : 1,
ast_index :16,
reserved : 5;
ast_list_idx : 4,
reserved :17;

A_UINT32 tgt_opaque_id :24,
reserved1 : 8;
Expand Down Expand Up @@ -18206,15 +18220,15 @@ PREPACK struct htt_t2h_sawf_msduq_event {
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_S)); \
} while (0)

#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M 0x07FFF800
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S 11
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_SET(_var, _val) \
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_M 0x00007800
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S 11
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)); \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S)); \
} while (0)


Expand Down
26 changes: 26 additions & 0 deletions fw/htt_stats.h
Original file line number Diff line number Diff line change
Expand Up @@ -5702,26 +5702,49 @@ typedef struct {
A_UINT32 cv_dma_not_done_err;
A_UINT32 cv_update_failed;
/* cv query stats */
/** total times CV query happened */
A_UINT32 cv_total_query;
/** total pattern based CV query */
A_UINT32 cv_total_pattern_query;
/** total BW based CV query */
A_UINT32 cv_total_bw_query;
/** incorrect encoding in CV flags */
A_UINT32 cv_invalid_bw_coding;
/** forced sounding enabled for the peer */
A_UINT32 cv_forced_sounding;
/** standalone sounding sequence on-going */
A_UINT32 cv_standalone_sounding;
/** NC of available CV lower than expected */
A_UINT32 cv_nc_mismatch;
/** feedback type different from expected */
A_UINT32 cv_fb_type_mismatch;
/** CV BW not equal to expected BW for OFDMA */
A_UINT32 cv_ofdma_bw_mismatch;
/** CV BW not greater than or equal to expected BW */
A_UINT32 cv_bw_mismatch;
/** CV pattern not matching with the expected pattern */
A_UINT32 cv_pattern_mismatch;
/** CV available is of different preamble type than expected. */
A_UINT32 cv_preamble_mismatch;
/** NR of available CV is lower than expected. */
A_UINT32 cv_nr_mismatch;
/** CV in use count has exceeded threshold and cannot be used further. */
A_UINT32 cv_in_use_cnt_exceeded;
/** A valid CV has been found. */
A_UINT32 cv_found;
/** No valid CV was found. */
A_UINT32 cv_not_found;
/** Sounding per user in 320MHz bandwidth */
A_UINT32 sounding_320[HTT_TX_PDEV_STATS_NUM_BE_MUMIMO_USER_STATS];
/** Counts number of soundings for all steering modes in 320MHz bandwidth */
A_UINT32 cbf_320[HTT_TXBF_MAX_NUM_OF_MODES];
/* This part can be used for new counters added for CV query/upload. */
/** non-trigger based ranging sequence on-going */
A_UINT32 cv_ntbr_sounding;
/** CV found, but upload is in progress. */
A_UINT32 cv_found_upload_in_progress;
/** Expired CV found during query. */
A_UINT32 cv_expired_during_query;
} htt_tx_sounding_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
Expand Down Expand Up @@ -6156,6 +6179,9 @@ typedef struct {

htt_tx_rate_stats_t per_mcs[HTT_TX_TXBF_RATE_STATS_NUM_MCS_COUNTERS];

/** 320MHz extension for PER */
htt_tx_rate_stats_t per_bw320;

} htt_tx_rate_stats_per_tlv;

/* NOTE:
Expand Down
2 changes: 1 addition & 1 deletion fw/wmi.h
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ typedef enum {
GROUP_USAGE = 0x01,
TX_USAGE = 0x02, /* default Tx Key - Static WEP only */
PMK_USAGE = 0x04, /* PMK cache */
PASN_USAGE = 0x08, /* is PASN based key */
LTF_USAGE = 0x08, /* LTF key seed */
} KEY_USAGE;
/*
* List of Events (target to host)
Expand Down
2 changes: 2 additions & 0 deletions fw/wmi_services.h
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,8 @@ typedef enum {
WMI_SERVICE_FP_PHY_ERR_FILTER_SUPPORT = 324, /* FW supports monitor ring configurations for filtering in PHY error packets */
WMI_IS_RADAR_FOUND_CHAN_FREQ_IS_CENTER_FREQ = 325, /* FW Supporting radar event on the actual center frequency radar was detected */
WMI_SERVICE_BIOS_SAR_SUPPORT = 326, /* FW support for SAR parameter stored in BIOS */
WMI_SERVICE_REO_QREF_SUPPORT = 327, /* FW supports REO QREF */
WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */

WMI_MAX_EXT2_SERVICE

Expand Down
21 changes: 18 additions & 3 deletions fw/wmi_tlv_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1243,6 +1243,11 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_tx_send_params_ext,
WMITLV_TAG_STRUC_wmi_mgmt_rx_params_ext,
WMITLV_TAG_STRUC_wmi_partner_link_stats,
WMITLV_TAG_STRUC_wmi_regulatory_chan_priority_struct,
WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_fixed_param,
WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_params_info,
WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_temp_offset_info,
WMITLV_TAG_STRUC_wmi_ctrl_path_afc_stats_struct,
} WMITLV_TAG_ID;

/*
Expand Down Expand Up @@ -2012,6 +2017,7 @@ typedef enum {
OP(WMI_SPECTRAL_CAPABILITIES_EVENTID) \
OP(WMI_RTT_PASN_PEER_CREATE_REQ_EVENTID) \
OP(WMI_RTT_PASN_PEER_DELETE_EVENTID) \
OP(WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID) \
/* add new EVT_LIST elements above this line */


Expand Down Expand Up @@ -5120,10 +5126,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_CTLTABLE_EVENTID);
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_TX_POWER_EVENTID);

/* Channel Info Event */
#define WMITLV_TABLE_WMI_CHAN_INFO_EVENTID(id,op,buf,len) \
#define WMITLV_TABLE_WMI_CHAN_INFO_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_chan_info_event_fixed_param, wmi_chan_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_CHAN_INFO_EVENTID);

/* RSSI dB to dBm conversion params info event to host */
#define WMITLV_TABLE_WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_fixed_param, wmi_rssi_dbm_conversion_params_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_dbm_conversion_params_info, rssi_dbm_conversion_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_dbm_conversion_temp_offset_info, rssi_temp_offset, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID);

/* Phy Error Event */
#define WMITLV_TABLE_WMI_PHYERR_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_comb_phyerr_rx_hdr, wmi_comb_phyerr_rx_hdr, hdr, WMITLV_SIZE_FIX) \
Expand Down Expand Up @@ -6052,7 +6065,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REG_CHAN_LIST_CC_EVENTID);
/* Ext regulatory channel list of current country code */
#define WMITLV_TABLE_WMI_REG_CHAN_LIST_CC_EXT_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext_fixed_param, wmi_reg_chan_list_cc_event_ext_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_rule_ext_struct, reg_rule_array, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_rule_ext_struct, reg_rule_array, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_chan_priority_struct, reg_chan_priority, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REG_CHAN_LIST_CC_EXT_EVENTID);

/* WMI AFC info event */
Expand Down Expand Up @@ -6332,7 +6346,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_awgn_stats_struct, ctrl_path_awgn_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_btcoex_stats_struct, ctrl_path_btcoex_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_bmiss_stats_struct, ctrl_path_bmiss_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_odd_addr_read_struct, ctrl_path_odd_addr_read, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_odd_addr_read_struct, ctrl_path_odd_addr_read, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_afc_stats_struct, ctrl_path_afc_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);

#define WMITLV_TABLE_WMI_RADIO_CHAN_STATS_EVENTID(id, op, buf, len) \
Expand Down
Loading

0 comments on commit e2ce431

Please sign in to comment.