[PATCH v2 5/5] wifi: ath12k: Dump additional Tx PDEV HTT stats
Ramya Gnanasekar
quic_rgnanase at quicinc.com
Tue May 28 09:48:18 PDT 2024
On 5/28/2024 4:36 PM, Kalle Valo wrote:
> Ramya Gnanasekar <quic_rgnanase at quicinc.com> writes:
>
>>>> +static inline void
>>>> +ath12k_htt_print_tx_pdev_mu_ppdu_dist_stats_tlv(const void *tag_buf,
>>>> + struct debug_htt_stats_req *stats_req)
>>>> +{
>>>> + const struct ath12k_htt_tx_pdev_mu_ppdu_dist_stats_tlv
>>>> *htt_stats_buf = tag_buf;
>>>> + char *mode;
>>>> + u8 j, hw_mode, i, str_buf_len;
>>>> + u8 *buf = stats_req->buf;
>>>> + u32 len = stats_req->buf_len;
>>>> + u32 buf_len = ATH12K_HTT_STATS_BUF_SIZE;
>>>> + u32 stats_value;
>>>> + u8 max_ppdu = ATH12K_HTT_STATS_MAX_NUM_MU_PPDU_PER_BURST;
>>>> + u8 max_sched = ATH12K_HTT_STATS_MAX_NUM_SCHED_STATUS;
>>>> + char str_buf[ATH12K_HTT_MAX_STRING_LEN];
>>>> +
>>>> + hw_mode = le32_to_cpu(htt_stats_buf->hw_mode);
>>>> +
>>>> + switch (hw_mode) {
>>>> + case ATH12K_HTT_STATS_HWMODE_AC:
>>>> + len += scnprintf(buf + len, buf_len - len,
>>>> + "HTT_TX_PDEV_MU_PPDU_DISTRIBUTION_STATS:\n");
>>>> + mode = "ac";
>>>> + break;
>>>> + case ATH12K_HTT_STATS_HWMODE_AX:
>>>> + mode = "ax";
>>>> + break;
>>>> + case ATH12K_HTT_STATS_HWMODE_BE:
>>>> + mode = "be";
>>>> + break;
>>>> + default:
>>>> + return;
>>>> + }
>>>
>>> Why are we not adding "HTT_TX_PDEV_MU_PPDU_DISTRIBUTION_STATS:\n" with
>>> ax and be modes?
>>>
>> Sorry for the delayed response. I was on OoO for a week.
>
> No worries.
>
>> We will receive this TLV for each hw modes. Since
>> "HTT_TX_PDEV_MU_PPDU_DISTRIBUTION_STATS:\n" is header and it would be
>> suffice to print it once, hence added it inside hw mode ac which will be
>> the first hw mode integrated inside the TLV.
>
> I would have expected that we print that outside of
> ath12k_htt_print_tx_pdev_mu_ppdu_dist_stats_tlv(), before the function
> is called at all.
>
Function itself will be called more than once. The overall HTT TLV will
be integrated with tag HTT_STATS_MU_PPDU_DIST_TAG (129) for all the hw
modes separately.
More information about the ath12k
mailing list