From 2c229c304e7940e016e2e3581af442e748ba396d Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 4 Apr 2025 06:01:52 -0700 Subject: [PATCH] fw-api: CL 28935775 - update fw common interface files Change-Id: I9f123bd2440a2fb1960e6699daa4c05fc8d0e8e8 CRs-Fixed: 3830439 --- fw/htt.h | 1 + fw/htt_stats.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/fw/htt.h b/fw/htt.h index e9d34066ff72..300433042810 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -844,6 +844,7 @@ typedef enum { HTT_STATS_PDEV_UL_MUMIMO_DENYLIST_STATS_TAG = 209, /* htt_stats_pdev_ulmumimo_denylist_stats_tlv */ HTT_STATS_PDEV_UL_MUMIMO_SEQ_TERM_STATS_TAG = 210, /* htt_stats_pdev_ulmumimo_seq_term_stats_tlv */ 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_MAX_TAG, } htt_stats_tlv_tag_t; diff --git a/fw/htt_stats.h b/fw/htt_stats.h index ea524e6d7486..0a52c1911062 100644 --- a/fw/htt_stats.h +++ b/fw/htt_stats.h @@ -829,6 +829,14 @@ enum htt_dbg_ext_stats_type { */ HTT_DBG_EXT_STATS_PDEV_UL_MUMIMO_ELIGIBLE = 74, + /** HTT_DBG_EXT_STATS_PAPRD_PB + * PARAMS: + * - No Params + * RESP MSG: + * - htt_stats_phy_paprd_pb_tlv + */ + HTT_DBG_EXT_STATS_PAPRD_PB = 75, + /* keep this last */ HTT_DBG_NUM_EXT_STATS = 256, @@ -10533,6 +10541,56 @@ typedef struct { } htt_vdevs_txrx_stats_t; #endif /* ATH_TARGET */ +/* PAPRD and power boost stats and counters */ +typedef struct { + htt_tlv_hdr_t tlv_hdr; + + /** current pdev_id */ + A_UINT32 pdev_id; + /** DPD and PowerBoost trigger count */ + A_UINT32 total_dpd_cal_count; + A_UINT32 chan_change_dpd_cal_count; + A_UINT32 thermal_dpd_cal_count; + A_UINT32 recovery_dpd_cal_count; + A_UINT32 pb_cal_count; + /** DPD and PowerBoost Fail Count */ + A_UINT32 total_dpd_fail_count; + A_UINT32 chan_change_dpd_fail_count; + A_UINT32 thermal_dpd_fail_count; + A_UINT32 recovery_dpd_fail_count; + A_UINT32 pb_fail_count; + + /* + * DPD and Power Boost validity status + * + * BIT 0 - DPD_CAL_STATUS + * BIT 1 - PB_CAL_STATUS + * + * CAL_STATUS can be interpreted as below + * CAL_SUCCESS = 1 + * CAL_FAIL = 0 + */ + union { + A_UINT32 dpd_pb_validity_status; + struct { + A_UINT32 is_dpd_valid:1, + is_pb_valid:1, + rsvd:30; + }; + }; + + /** Last DPD cal time in ms */ + A_UINT32 last_dpd_cal_time; + + /** Last Power Boost cal time in ms */ + A_UINT32 last_pb_cal_time; + + /** Power Boost gain per BW and MCS, in 0.25 dB units + * For example, a value of 2 represents a 0.5 dB gain. + */ + A_UINT32 power_boost_gain[HTT_TX_PDEV_STATS_NUM_BE_BW_COUNTERS][HTT_TX_PDEV_STATS_NUM_BE_MCS_COUNTERS]; +} htt_stats_phy_paprd_pb_tlv; + typedef struct { union { A_UINT32 word32;