瀏覽代碼

qcacmn: Add structures for FISA pkt history

Add DP data structures to add history in FISA aggregation path.

Change-Id: I2feb2d9fdef8f78f6cbfaf847c199580ceab9887
CRs-Fixed: 2912971
Mohit Khanna 4 年之前
父節點
當前提交
759a7573ed
共有 1 個文件被更改,包括 32 次插入1 次删除
  1. 32 1
      dp/wifi3.0/dp_types.h

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

@@ -128,6 +128,10 @@
 #define DP_TXRX_HLOS_TID_OVERRIDE_ENABLED 0x2
 #define DP_TX_MESH_ENABLED 0x4
 
+#ifdef WLAN_SUPPORT_RX_FISA
+#define FISA_FLOW_MAX_AGGR_COUNT        16 /* max flow aggregate count */
+#endif
+
 enum rx_pktlog_mode {
 	DP_RX_PKTLOG_DISABLED = 0,
 	DP_RX_PKTLOG_FULL,
@@ -3015,11 +3019,33 @@ enum fisa_aggr_ret {
 	FISA_FLUSH_FLOW
 };
 
+/**
+ * struct fisa_pkt_hist_elem - FISA Packet history element
+ * @ts: timestamp indicating when the packet was received by FISA framework.
+ * @tlvs: record of TLVS for the packet coming to FISA framework
+ */
+struct fisa_pkt_hist_elem {
+	qdf_time_t ts;
+	struct rx_pkt_tlvs tlvs;
+};
+
+/**
+ * struct fisa_pkt_hist - FISA Packet history structure
+ * @hist_elem: array of hist elements
+ * @idx: index indicating the next location to be used in the array.
+ */
+struct fisa_pkt_hist {
+	struct fisa_pkt_hist_elem hist_elem[FISA_FLOW_MAX_AGGR_COUNT];
+	uint32_t idx;
+};
+
 struct dp_fisa_rx_sw_ft {
 	/* HAL Rx Flow Search Entry which matches HW definition */
 	void *hw_fse;
-	/* Toeplitz hash value */
+	/* hash value */
 	uint32_t flow_hash;
+	/* toeplitz hash value*/
+	uint32_t flow_id_toeplitz;
 	/* Flow index, equivalent to hash value truncated to FST size */
 	uint32_t flow_id;
 	/* Stats tracking for this flow */
@@ -3058,6 +3084,11 @@ struct dp_fisa_rx_sw_ft {
 	uint32_t cmem_offset;
 	uint32_t metadata;
 	uint32_t reo_dest_indication;
+	qdf_time_t flow_init_ts;
+	qdf_time_t last_accessed_ts;
+#ifdef WLAN_SUPPORT_RX_FISA_HIST
+	struct fisa_pkt_hist pkt_hist;
+#endif
 };
 
 #define DP_RX_GET_SW_FT_ENTRY_SIZE sizeof(struct dp_fisa_rx_sw_ft)