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 | 249 ++++++++++++++++++ > .../wireless/ath/ath12k/debugfs_htt_stats.h | 98 +++++++ > 2 files changed, 347 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c b/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > index 8a4fe3cbb8dd..912fef503982 100644 > --- a/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > +++ b/drivers/net/wireless/ath/ath12k/debugfs_htt_stats.c > @@ -2625,6 +2625,240 @@ 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; > + u8 *buf = stats_req->buf; > + u32 len = stats_req->buf_len; > + u32 buf_len = ATH12K_HTT_STATS_BUF_SIZE; > + u8 i; Reverse xmas. I'll stop commenting about that now. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches