|
@@ -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)
|