Skip to content

Commit

Permalink
Merge 22d8de2 on remote branch
Browse files Browse the repository at this point in the history
Change-Id: I8c887b4d250518f89c3bcc6ac8a396f55f8a42f9
  • Loading branch information
Linux Build Service Account committed Dec 21, 2018
2 parents c9f0cba + 22d8de2 commit dde0d54
Show file tree
Hide file tree
Showing 9 changed files with 815 additions and 284 deletions.
542 changes: 274 additions & 268 deletions fw/dbglog_id.h

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion fw/htt.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,10 @@
* 3.56 Fix HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE bit-mask defs
* 3.57 Add support for in-band data within HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND
* 3.58 Add optional MSDU ack RSSI array to end of HTT_T2H TX_COMPL_IND msg
* 3.59 Add HTT_RXDMA_HOST_BUF_RING2 def
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 58
#define HTT_CURRENT_VERSION_MINOR 59

#define HTT_NUM_TX_FRAG_DESC 1024

Expand Down Expand Up @@ -4389,6 +4390,7 @@ enum htt_srng_ring_id {
HTT_HOST1_TO_FW_RXBUF_RING, /* (mobile only) used by host to provide remote RX buffers */
HTT_HOST2_TO_FW_RXBUF_RING, /* (mobile only) second ring used by host to provide remote RX buffers */
HTT_RXDMA_NON_MONITOR_DEST_RING, /* Per MDPU indication to host for non-monitor RxDMA traffic upload */
HTT_RXDMA_HOST_BUF_RING2, /* Second ring used by FW to feed removed buffers and update removed packets */
/* Add Other SRING which can't be directly configured by host software above this line */
};

Expand Down
59 changes: 57 additions & 2 deletions fw/htt_stats.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,16 +249,25 @@ enum htt_dbg_ext_stats_type {
* PARAMS:
* - config_param0:
* [Bit0] vdev_id_set:1
* set to 1 if vdev_id is set and vdev stats are requested
* set to 1 if vdev_id is set and vdev stats are requested
* [Bit8 : Bit1] vdev_id:8
* note:0xFF to get all active vdevs based on pdev_mask.
* [Bit31 : Bit9] rsvd:22
*
* RESP MSG:
* - htt_tx_sounding_stats_t
*/
HTT_DBG_EXT_STATS_TX_SOUNDING_INFO = 22,

/* HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS
* PARAMS:
* - config_param0:
* No params
* RESP MSG:
* - htt_pdev_obss_pd_stats_t
*/
HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS = 23,


/* keep this last */
HTT_DBG_NUM_EXT_STATS = 256,
Expand Down Expand Up @@ -353,6 +362,7 @@ typedef enum {
HTT_STATS_TX_DE_FW2WBM_RING_FULL_HIST_TAG = 85, /* htt_tx_de_fw2wbm_ring_full_hist_tlv */
HTT_STATS_SCHED_TXQ_SCHED_ORDER_SU_TAG = 86, /* htt_sched_txq_sched_order_su_tlv */
HTT_STATS_SCHED_TXQ_SCHED_INELIGIBILITY_TAG = 87, /* htt_sched_txq_sched_eligibility_tlv */
HTT_STATS_PDEV_OBSS_PD_TAG = 88, /* htt_pdev_obss_pd_stats_tlv */

HTT_STATS_MAX_TAG,
} htt_tlv_tag_t;
Expand Down Expand Up @@ -1106,6 +1116,10 @@ typedef struct _htt_rx_peer_rate_stats_tlv {
/* Counters to track number of rx packets in each GI in each mcs (0-11) */
A_UINT32 rx_gi[HTT_RX_PEER_STATS_NUM_GI_COUNTERS][HTT_RX_PEER_STATS_NUM_MCS_COUNTERS];

A_UINT32 rx_ulofdma_non_data_ppdu; /* ppdu level */
A_UINT32 rx_ulofdma_data_ppdu; /* ppdu level */
A_UINT32 rx_ulofdma_mpdu_ok; /* mpdu level */
A_UINT32 rx_ulofdma_mpdu_fail; /* mpdu level */
} htt_rx_peer_rate_stats_tlv;

typedef enum {
Expand Down Expand Up @@ -2851,6 +2865,8 @@ typedef struct {
#define HTT_RX_PDEV_STATS_NUM_BW_COUNTERS 4
#define HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS 8
#define HTT_RX_PDEV_STATS_NUM_PREAMBLE_TYPES HTT_STATS_PREAM_COUNT
#define HTT_RX_PDEV_MAX_OFDMA_NUM_USER 8
#define HTT_RX_PDEV_STATS_RXEVM_MAX_PILOTS_PER_NSS 16

#define HTT_RX_PDEV_RATE_STATS_MAC_ID_M 0x000000ff
#define HTT_RX_PDEV_RATE_STATS_MAC_ID_S 0
Expand Down Expand Up @@ -2903,6 +2919,31 @@ typedef struct {
A_UINT32 rx_legacy_ofdm_rate[HTT_RX_PDEV_STATS_NUM_LEGACY_OFDM_STATS];
A_UINT32 rx_active_dur_us_low;
A_UINT32 rx_active_dur_us_high;

A_UINT32 rx_11ax_ul_ofdma;

A_UINT32 ul_ofdma_rx_mcs[HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS];
A_UINT32 ul_ofdma_rx_gi[HTT_TX_PDEV_STATS_NUM_GI_COUNTERS][HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS];
A_UINT32 ul_ofdma_rx_nss[HTT_TX_PDEV_STATS_NUM_SPATIAL_STREAMS];
A_UINT32 ul_ofdma_rx_bw[HTT_TX_PDEV_STATS_NUM_BW_COUNTERS];
A_UINT32 ul_ofdma_rx_stbc;
A_UINT32 ul_ofdma_rx_ldpc;

/* record the stats for each user index */
A_UINT32 rx_ulofdma_non_data_ppdu[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* ppdu level */
A_UINT32 rx_ulofdma_data_ppdu[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* ppdu level */
A_UINT32 rx_ulofdma_mpdu_ok[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* mpdu level */
A_UINT32 rx_ulofdma_mpdu_fail[HTT_RX_PDEV_MAX_OFDMA_NUM_USER]; /* mpdu level */

A_UINT32 nss_count;
A_UINT32 pilot_count;
/* RxEVM stats in dB */
A_INT32 rx_pilot_evm_dB[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS][HTT_RX_PDEV_STATS_RXEVM_MAX_PILOTS_PER_NSS];
/* rx_pilot_evm_dB_mean:
* EVM mean across pilots, computed as
* mean(10*log10(rx_pilot_evm_linear)) = mean(rx_pilot_evm_dB)
*/
A_INT32 rx_pilot_evm_dB_mean[HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS];
} htt_rx_pdev_rate_stats_tlv;


Expand Down Expand Up @@ -3600,5 +3641,19 @@ typedef struct {
htt_tx_sounding_stats_tlv sounding_tlv;
} htt_tx_sounding_stats_t;

typedef struct {
htt_tlv_hdr_t tlv_hdr;

A_UINT32 num_obss_tx_ppdu_success;
A_UINT32 num_obss_tx_ppdu_failure;
} htt_pdev_obss_pd_stats_tlv;

/* NOTE:
* This structure is for documentation, and cannot be safely used directly.
* Instead, use the constituent TLV structures to fill/parse.
*/
typedef struct {
htt_pdev_obss_pd_stats_tlv obss_pd_stat;
} htt_pdev_obss_pd_stats_t;

#endif /* __HTT_STATS_H__ */
8 changes: 8 additions & 0 deletions fw/targaddrs.h
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,14 @@ PREPACK64 struct host_interest_s {
#define HI_OPTION_BE_LATENCY_OPTIMIZE 0x100 /* This bit is to enable BE low latency for some customers. The side effect is TCP DL will be 8Mbps decreased (673Mbps -> 665Mbps).*/
#define HT_OPTION_GPIO_WAKEUP_SUPPORT 0x200 /* GPIO wake up support */

/*
* If both SDIO_CRASH_DUMP_ENHANCEMENT_HOST and SDIO_CRASH_DUMP_ENHANCEMENT_FW
* flags are set, then crashdump upload will be done using the BMI host/target
* communication channel.
*/
#define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_HOST 0x400 /* HOST to support using BMI dump FW memory when hit assert */
#define HI_OPTION_SDIO_CRASH_DUMP_ENHANCEMENT_FW 0x800 /* FW to support using BMI dump FW memory when hit assert */

#define GPIO_WAKEUP_ENABLED() \
(HOST_INTEREST->hi_option_flag2 & HT_OPTION_GPIO_WAKEUP_SUPPORT)

Expand Down
7 changes: 7 additions & 0 deletions fw/wlan_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,13 @@ typedef struct {
A_UINT32 ptr;
/** size of the chunk */
A_UINT32 size;
/** ptr_high
* most significant bits of physical address of the memory chunk
* Only applicable for addressing more than 32 bit.
* This will only be non-zero if the target has set
* WMI_SERVICE_SUPPORT_EXTEND_ADDRESS flag.
*/
A_UINT32 ptr_high;
} wlan_host_memory_chunk;

#define NUM_UNITS_IS_NUM_VDEVS 0x1
Expand Down
97 changes: 97 additions & 0 deletions fw/wmi_services.h
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,103 @@ typedef enum {
WMI_SERVICE_NAN_DISABLE_SUPPORT=175, /* indicates firmware is dependent on host to disable NAN incase of concurrencies */
WMI_SERVICE_NAN_DISABLE_SUPPORT__prototype = WMI_SERVICE_NAN_DISABLE_SUPPORT, /* alias, to clarify that NAN_DISABLE_SUPPORT is for prototype testing purposes */
WMI_SERVICE_HTT_H2T_NO_HTC_HDR_LEN_IN_MSG_LEN=176, /* indicates FW supports uniformly excluding the HTC header length from the HTT H2T message length */
WMI_SERVICE_COEX_SUPPORT_UNEQUAL_ISOLATION=177, /* indicates FW supports FDD coex with unequal isolation between BT and each of the WLAN chains */

/* WMI_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT:
* Support HW+FW db2dbm conversion for RSSI fields in rx descriptors
* and host/target messages.
* If enabled, HW and FW will convert SNR to RSSI by adding noise floor
* and rssi_offset from BDF to RSSI values that formerly had units of
* dB w.r.t. noise floor to convert the units to dBm.
* MAC beacon RSSI average register return a signed value for RSSI,
* as well as hw descriptors.
*-------------------------------------------------------------------------
* The RSSI field of below WMI messages will be changed to dBm units:
* WMI_MGMT_RX_EVENTID:
* wmi_mgmt_rx_hdr.rssi_ctl;
* WMI_UPDATE_STATS_EVENTID:
* wmi_rssi_stats.rssi_avg_beacon;
* wmi_rssi_stats.rssi_avg_data;
* wmi_snr_info.bcn_snr;
* wmi_snr_info.dat_snr;
* wmi_vdev_stats.bcn_rssi_history; (NOT USED IN FW)
* wmi_peer_stats.peer_rssi;
* WMI_WOW_WAKEUP_HOST_EVENTID:
* wmi_rssi_breach_event_fixed_param.rssi;
* wmi_roam_event_fixed_param.rssi;
* WMI_PEER_STA_KICKOUT_EVENTID:
* wmi_peer_sta_kickout_event_fixed_param.rssi;
* WMI_PASSPOINT_MATCH_EVENTID:
* wmi_passpoint_event_hdr.rssi;(NOT USED IN FW)
* WMI_PEER_INFO_EVENTID:
* wmi_peer_info.rssi;
* WMI_ROAM_SYNCH_EVENTID:
* wmi_roam_synch_event_fixed_param.rssi;
* WMI_ROAM_SCAN_STATS_EVENTID:
* wmi_roam_scan_stats_event_fixed_param.rssi;
* wmi_pdev_div_rssi_antid_event_id:
* wmi_pdev_div_rssi_antid_event_fixed_param.chain_rssi;
* wmi_rssi_breach_event_id
* WMI_INST_RSSI_STATS_EVENTID:
* wmi_inst_rssi_stats_resp_fixed_param.iRSSI;
* RSSI thresholds configured by host
* WMI_ROAM_SCAN_RSSI_THRESHOLD
* roam_scan_rssi_thresh snr
* boost_threshold_5g snr
* penalty_threshold_5g snr
* good_rssi_threshold snr
* roam_bg_scan_bad_rssi_thresh snr
* roam_earlystop_thres_min snr
* roam_earlystop_thres_max snr
* WMI_ROAM_AP_PROFILE
* rssi_abs_thresh snr
* WMI_ROAM_CONFIGURE_MAWC_CMDID:
* best_ap_rssi_threshold Snr
* wmi_ap_profile.rssi_abs_thresh;
* WMI_ROAM_SCAN_RSSI_THRESHOLD:
* wmi_roam_scan_extended_threshold_param.boost_threshold_5g;
* wmi_roam_scan_extended_threshold_param.penalty_threshold_5g;
* wmi_roam_scan_extended_threshold_param.good_rssi_threshold;
* wmi_roam_scan_rssi_threshold_fixed_param.roam_scan_rssi_thresh;
* wmi_roam_bg_scan_roaming_param.roam_bg_scan_bad_rssi_thresh;
* WMI_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID:
* wmi_vdev_spectral_configure_cmd_fixed_param.spectral_scan_rssi_rpt_mode;
* wmi_vdev_spectral_configure_cmd_fixed_param.spectral_scan_rssi_thr;
* WMI_RSSI_BREACH_MONITOR_CONFIG_CMDID:
* wmi_rssi_breach_monitor_config_fixed_param.low_rssi_breach_threshold;
* wmi_rssi_breach_monitor_config_fixed_param.hi_rssi_breach_threshold;
* WMI_STA_SMPS_PARAM_CMDID:
* wmi_sta_smps_param.value of below cmd IDs:
* // RSSI threshold to enter Dynamic SMPS mode from inactive mode
* WMI_STA_SMPS_PARAM_UPPER_RSSI_THRESH = 0,
* // RSSI threshold to enter Stalled-D-SMPS mode from D-SMPS mode
* // or to enter D-SMPS mode from Stalled-D-SMPS mode
* WMI_STA_SMPS_PARAM_STALL_RSSI_THRESH = 1,
* // RSSI threshold to disable SMPS modes
* WMI_STA_SMPS_PARAM_LOWER_RSSI_THRESH = 2,
* // Upper threshold for beacon-RSSI. Used to reduce RX chainmask.
* WMI_STA_SMPS_PARAM_UPPER_BRSSI_THRESH = 3,
* // Lower threshold for beacon-RSSI. Used to increase RX chainmask
* WMI_STA_SMPS_PARAM_LOWER_BRSSI_THRESH = 4,
* // Enable/Disable DTIM 1chRx feature
* WMI_STA_SMPS_PARAM_DTIM_1CHRX_ENABLE = 5
* WMI_TDLS_SET_STATE_CMDID:
* wmi_tdls_set_state_cmd_fixed_param.rssi_teardown_threshold;
* wmi_tdls_set_state_cmd_fixed_param.rssi_delta;
*-------------------------------------------------------------------------
* The RSSI fields of below HTT data type will change to dBm units:
* PREPACK struct htt_tx_wbm_completion.ack_frame_rssi;
* PREPACK struct htt_tx_wbm_transmit_status.ack_frame_rssi;
* htt_ppdu_stats_user_cmpltn_common_tlv.ack_rssi;
*/
WMI_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT = 178,
WMI_SERVICE_SUPPORT_EXTEND_ADDRESS=179, /* indicates firmware supports host memory addresses larger than 32 bit */
WMI_SERVICE_BEACON_RECEPTION_STATS=180, /* Support per vdev beacon stats info */
WMI_SERVICE_FETCH_TX_PN=181,
WMI_SERVICE_PEER_UNMAP_RESPONSE_SUPPORT = 182, /* support peer ids unmap response from host */
WMI_SERVICE_TX_PER_PEER_AMPDU_SIZE = 183, /* indicate FW support per peer TX AMPDU size */
WMI_SERVICE_BSS_COLOR_SWITCH_COUNT = 184, /* Firmware supports bss-color switch count handling */


/******* ADD NEW SERVICES HERE *******/

Expand Down
Loading

0 comments on commit dde0d54

Please sign in to comment.