Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b9742f8 authored by Mohit Khanna's avatar Mohit Khanna Committed by snandini
Browse files

qcacmn: Add structures for FISA pkt history

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

Change-Id: I2feb2d9fdef8f78f6cbfaf847c199580ceab9887
CRs-Fixed: 2912971
parent 3c23682f
Loading
Loading
Loading
Loading
+32 −1
Original line number Diff line number Diff line
@@ -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,
@@ -2918,11 +2922,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 */
@@ -2961,6 +2987,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)