Roopni Devanathan <quic_rdevanat@xxxxxxxxxxx> writes: > From: Dinesh Karthikeyan <quic_dinek@xxxxxxxxxxx> > > Add support to request counters and Transmission Power Control > (TPC) stats through HTT stats type 37. These stats give > information about counters like received packet count, CRC pass > count, error count, transmit abort count, etc., about counter reset > like reset cause, channel frequency, number and mode, channel flags, > etc., about TPC like transmit power scale, maximum transmit power, > gain cap, EIRP, etc. > > Note: MCC firmware version - > WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 does not > support HTT stats type 37, i.e., the firmware does not respond to the > command requesting stats. > > Sample output: > ------------- > echo 37 > /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats_type > cat /sys/kernel/debug/ath12k/pci-0000\:06\:00.0/mac0/htt_stats > HTT_PHY_STATS_TLV: > bdf_nf_chain[0] = -92 > bdf_nf_chain[1] = -94 > bdf_nf_chain[2] = -94 > bdf_nf_chain[3] = -93 > ..... > > HTT_PHY_COUNTERS_TLV: > rx_ofdma_timing_err_cnt = 18068 > rx_cck_fail_cnt = 0 > mactx_abort_cnt = 2612 > macrx_abort_cnt = 0 > ..... > > HTT_PHY_RESET_STATS_TLV: > pdev_id = 0 > chan_mhz = 0 > chan_band_center_freq1 = 0 > chan_band_center_freq2 = 0 > ..... > > HTT_PHY_RESET_COUNTERS_TLV: > pdev_id = 0 > cf_active_low_fail_cnt = 0 > cf_active_low_pass_cnt = 0 > phy_off_through_vreg_cnt = 0 > ..... > > HTT_PHY_TPC_STATS_TLV: > pdev_id = 0 > tx_power_scale = 0 > tx_power_scale_db = 0 > min_negative_tx_power = 0 > ..... > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Dinesh Karthikeyan <quic_dinek@xxxxxxxxxxx> > Signed-off-by: Roopni Devanathan <quic_rdevanat@xxxxxxxxxxx> > --- > .../wireless/ath/ath12k/debugfs_htt_stats.c | 248 ++++++++++++++++++ > .../wireless/ath/ath12k/debugfs_htt_stats.h | 98 +++++++ > 2 files changed, 346 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c b/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > index bde3644a7c21..575a03137e9f 100644 > --- a/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > +++ b/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > @@ -2628,6 +2628,239 @@ ath12k_htt_print_dlpager_stats_tlv(const void *tag_buf, u16 tag_len, > stats_req->buf_len = len; > } > > +static void > +ath12k_htt_print_phy_stats_tlv(const void *tag_buf, u16 tag_len, > + struct debug_htt_stats_req *stats_req) > +{ > + const struct ath12k_htt_phy_stats_tlv *htt_stats_buf = tag_buf; > + u32 len = stats_req->buf_len; > + u32 buf_len = ATH12K_HTT_STATS_BUF_SIZE; > + u8 *buf = stats_req->buf, i; I see several cases where reverse xmas is not used still. No need to resend because of this but please remember this in the future. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches