Search Linux Wireless

Re: [PATCH v6 2/4] wifi: ath12k: Support phy counter and TPC stats

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> writes:

> On 11/14/2024 10:28 PM, Roopni Devanathan wrote:
>
>> 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>
> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
>
>> +struct ath12k_htt_phy_stats_tlv {
>> +	a_sle32 nf_chain[ATH12K_HTT_STATS_MAX_CHAINS];
>> +	__le32 false_radar_cnt;
>> +	__le32 radar_cs_cnt;
>> +	a_sle32 ani_level;
>> +	__le32 fw_run_time;
>> +	a_sle32 runtime_nf_chain[ATH12K_HTT_STATS_MAX_CHAINS];
>> +} __packed;
>
> it just occurred to me that these structs are actually misnamed.
> these represent the payload of the tlv, not the actual tlv.
> Kalle, as a future cleanup I suggest that we either rename these or modify
> them plus the parsing code such that the TLV header is included in the struct.

Yeah, that would be good to do.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux