@@ -2378,6 +2378,65 @@ ath12k_htt_print_tx_pdev_mu_mimo_mpdu_stats_tlv(const void *tag_buf, u16 tag_len
2378
2378
stats_req -> buf_len = len ;
2379
2379
}
2380
2380
2381
+ static void
2382
+ ath12k_htt_print_pdev_cca_stats_hist_tlv (const void * tag_buf , u16 tag_len ,
2383
+ struct debug_htt_stats_req * stats_req )
2384
+ {
2385
+ const struct ath12k_htt_pdev_cca_stats_hist_v1_tlv * htt_stats_buf = tag_buf ;
2386
+ u8 * buf = stats_req -> buf ;
2387
+ u32 len = stats_req -> buf_len ;
2388
+ u32 buf_len = ATH12K_HTT_STATS_BUF_SIZE ;
2389
+
2390
+ if (tag_len < sizeof (* htt_stats_buf ))
2391
+ return ;
2392
+
2393
+ len += scnprintf (buf + len , buf_len - len , "HTT_PDEV_CCA_STATS_HIST_TLV :\n" );
2394
+ len += scnprintf (buf + len , buf_len - len , "chan_num = %u\n" ,
2395
+ le32_to_cpu (htt_stats_buf -> chan_num ));
2396
+ len += scnprintf (buf + len , buf_len - len , "num_records = %u\n" ,
2397
+ le32_to_cpu (htt_stats_buf -> num_records ));
2398
+ len += scnprintf (buf + len , buf_len - len , "valid_cca_counters_bitmap = 0x%x\n" ,
2399
+ le32_to_cpu (htt_stats_buf -> valid_cca_counters_bitmap ));
2400
+ len += scnprintf (buf + len , buf_len - len , "collection_interval = %u\n\n" ,
2401
+ le32_to_cpu (htt_stats_buf -> collection_interval ));
2402
+
2403
+ stats_req -> buf_len = len ;
2404
+ }
2405
+
2406
+ static void
2407
+ ath12k_htt_print_pdev_stats_cca_counters_tlv (const void * tag_buf , u16 tag_len ,
2408
+ struct debug_htt_stats_req * stats_req )
2409
+ {
2410
+ const struct ath12k_htt_pdev_stats_cca_counters_tlv * htt_stats_buf = tag_buf ;
2411
+ u8 * buf = stats_req -> buf ;
2412
+ u32 len = stats_req -> buf_len ;
2413
+ u32 buf_len = ATH12K_HTT_STATS_BUF_SIZE ;
2414
+
2415
+ if (tag_len < sizeof (* htt_stats_buf ))
2416
+ return ;
2417
+
2418
+ len += scnprintf (buf + len , buf_len - len ,
2419
+ "HTT_PDEV_STATS_CCA_COUNTERS_TLV:(in usec)\n" );
2420
+ len += scnprintf (buf + len , buf_len - len , "tx_frame_usec = %u\n" ,
2421
+ le32_to_cpu (htt_stats_buf -> tx_frame_usec ));
2422
+ len += scnprintf (buf + len , buf_len - len , "rx_frame_usec = %u\n" ,
2423
+ le32_to_cpu (htt_stats_buf -> rx_frame_usec ));
2424
+ len += scnprintf (buf + len , buf_len - len , "rx_clear_usec = %u\n" ,
2425
+ le32_to_cpu (htt_stats_buf -> rx_clear_usec ));
2426
+ len += scnprintf (buf + len , buf_len - len , "my_rx_frame_usec = %u\n" ,
2427
+ le32_to_cpu (htt_stats_buf -> my_rx_frame_usec ));
2428
+ len += scnprintf (buf + len , buf_len - len , "usec_cnt = %u\n" ,
2429
+ le32_to_cpu (htt_stats_buf -> usec_cnt ));
2430
+ len += scnprintf (buf + len , buf_len - len , "med_rx_idle_usec = %u\n" ,
2431
+ le32_to_cpu (htt_stats_buf -> med_rx_idle_usec ));
2432
+ len += scnprintf (buf + len , buf_len - len , "med_tx_idle_global_usec = %u\n" ,
2433
+ le32_to_cpu (htt_stats_buf -> med_tx_idle_global_usec ));
2434
+ len += scnprintf (buf + len , buf_len - len , "cca_obss_usec = %u\n\n" ,
2435
+ le32_to_cpu (htt_stats_buf -> cca_obss_usec ));
2436
+
2437
+ stats_req -> buf_len = len ;
2438
+ }
2439
+
2381
2440
static int ath12k_dbg_htt_ext_stats_parse (struct ath12k_base * ab ,
2382
2441
u16 tag , u16 len , const void * tag_buf ,
2383
2442
void * user_data )
@@ -2540,6 +2599,14 @@ static int ath12k_dbg_htt_ext_stats_parse(struct ath12k_base *ab,
2540
2599
case HTT_STATS_TX_PDEV_MPDU_STATS_TAG :
2541
2600
ath12k_htt_print_tx_pdev_mu_mimo_mpdu_stats_tlv (tag_buf , len , stats_req );
2542
2601
break ;
2602
+ case HTT_STATS_PDEV_CCA_1SEC_HIST_TAG :
2603
+ case HTT_STATS_PDEV_CCA_100MSEC_HIST_TAG :
2604
+ case HTT_STATS_PDEV_CCA_STAT_CUMULATIVE_TAG :
2605
+ ath12k_htt_print_pdev_cca_stats_hist_tlv (tag_buf , len , stats_req );
2606
+ break ;
2607
+ case HTT_STATS_PDEV_CCA_COUNTERS_TAG :
2608
+ ath12k_htt_print_pdev_stats_cca_counters_tlv (tag_buf , len , stats_req );
2609
+ break ;
2543
2610
default :
2544
2611
break ;
2545
2612
}
0 commit comments