Ver Fonte

qcacmn: Add reo_mismatch stats for FISA path

Add reo_mismatch stats for FISA path.

Change-Id: I954c9604b98cfb0b08be09ef0bf3e2235f47a3db
CRs-Fixed: 3277338
Rakesh Pillai há 2 anos atrás
pai
commit
3a7048480c
3 ficheiros alterados com 27 adições e 1 exclusões
  1. 12 0
      dp/wifi3.0/dp_internal.h
  2. 1 0
      dp/wifi3.0/dp_main.c
  3. 14 1
      dp/wifi3.0/dp_types.h

+ 12 - 0
dp/wifi3.0/dp_internal.h

@@ -3234,6 +3234,14 @@ void dp_update_num_mac_rings_for_dbs(struct dp_soc *soc,
 #if defined(WLAN_SUPPORT_RX_FISA)
 void dp_rx_dump_fisa_table(struct dp_soc *soc);
 
+/**
+ * dp_print_fisa_stats() - Print FISA stats
+ * @soc: DP soc handle
+ *
+ * Return: None
+ */
+void dp_print_fisa_stats(struct dp_soc *soc);
+
 /*
  * dp_rx_fst_update_cmem_params() - Update CMEM FST params
  * @soc:		DP SoC context
@@ -3259,6 +3267,10 @@ static inline void
 dp_rx_fst_update_pm_suspend_status(struct dp_soc *soc, bool suspended)
 {
 }
+
+static inline void dp_print_fisa_stats(struct dp_soc *soc)
+{
+}
 #endif /* WLAN_SUPPORT_RX_FISA */
 
 #ifdef MAX_ALLOC_PAGE_SIZE

+ 1 - 0
dp/wifi3.0/dp_main.c

@@ -11543,6 +11543,7 @@ static QDF_STATUS dp_txrx_dump_stats(struct cdp_soc_t *psoc, uint16_t value,
 		dp_pdev_print_tx_delay_stats(soc);
 		/* Dump usage watermark stats for core TX/RX SRNGs */
 		dp_dump_srng_high_wm_stats(soc, (1 << REO_DST));
+		dp_print_fisa_stats(soc);
 		break;
 
 	case CDP_RX_RING_STATS:

+ 14 - 1
dp/wifi3.0/dp_types.h

@@ -4254,10 +4254,23 @@ struct dp_rx_fst {
 #define DP_RX_GET_SW_FT_ENTRY_SIZE sizeof(struct dp_rx_fse)
 #elif WLAN_SUPPORT_RX_FISA
 
+/**
+ * struct dp_fisa_reo_mismatch_stats - reo mismatch sub-case stats for FISA
+ * @allow_cce_match: packet allowed due to cce mismatch
+ * @allow_fse_metdata_mismatch: packet allowed since it belongs to same flow,
+ *			only fse_metadata is not same.
+ * @allow_non_aggr: packet allowed due to any other reason.
+ */
+struct dp_fisa_reo_mismatch_stats {
+	uint32_t allow_cce_match;
+	uint32_t allow_fse_metdata_mismatch;
+	uint32_t allow_non_aggr;
+};
+
 struct dp_fisa_stats {
 	/* flow index invalid from RX HW TLV */
 	uint32_t invalid_flow_index;
-	uint32_t reo_mismatch;
+	struct dp_fisa_reo_mismatch_stats reo_mismatch;
 };
 
 enum fisa_aggr_ret {