diff --git a/fw/htt.h b/fw/htt.h index 0a50c23b9cf1..18d7614c2450 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -937,6 +937,8 @@ typedef enum { HTT_STATS_CTL_TAG = 258, /* htt_stats_ctl_tlv */ HTT_STATS_ENHANCED_CTL_TAG = 259, /* htt_stats_enhanced_ctl_tlv */ HTT_STATS_NPCA_TAG = 260, /* htt_stats_npca_tlv */ + HTT_STATS_SCHED_TXQ_TX_MODE_SIMPLIFIED_TAG = 261, /* htt_stats_sched_txq_tx_mode_simplified_tlv */ + HTT_STATS_SCHED_TXQ_TX_MODE_WINNER_TAG = 262, /* htt_stats_sched_txq_tx_mode_winner_tlv */ HTT_STATS_MAX_TAG, } htt_stats_tlv_tag_t; diff --git a/fw/htt_stats.h b/fw/htt_stats.h index 68c6c694a69b..36e7615294db 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -5381,6 +5381,24 @@ typedef htt_stats_error_tlv_v typedef htt_stats_error_tlv_v htt_stats_unavailable_error_stats_tlv; +/* NOTE: Variable length TLV, use length spec to infer array size */ +#define HTT_STATS_SCHED_TXQ_TX_MODE_SIMPLIFIED_TLV_SZ(_num_elems) \ + (sizeof(A_UINT32) * (_num_elems)) +typedef struct { + htt_tlv_hdr_t tlv_hdr; + /** Scheduler command posted per tx_mode (length = num tx modes+1) */ + HTT_STATS_VAR_LEN_ARRAY1(A_UINT32, sched_tx_mode_simplified); +} htt_stats_sched_txq_tx_mode_simplified_tlv; + +/* NOTE: Variable length TLV, use length spec to infer array size */ +#define HTT_STATS_SCHED_TXQ_TX_MODE_WINNER_TLV_SZ(_num_elems) \ + (sizeof(A_UINT32) * (_num_elems)) +typedef struct { + htt_tlv_hdr_t tlv_hdr; + /** Scheduler command posted per tx_mode (length = num tx modes+1) */ + HTT_STATS_VAR_LEN_ARRAY1(A_UINT32, sched_tx_mode_winner); +} htt_stats_sched_txq_tx_mode_winner_tlv; + typedef enum { HTT_SCHED_TID_SKIP_SCHED_MASK_DISABLED = 0, /* Skip the tid when WAL_TID_DISABLE_TX_SCHED_MASK is true */ HTT_SCHED_TID_SKIP_NOTIFY_MPDU, /* Skip the tid's 2nd sched_cmd when 1st cmd is ongoing */