Browse Source

qcacmn: add FSE CMEM HTT response

CMEM FSE details like offset into CMEM where flow search table(FST)
is allocated and the size of the FST will be sent by the firmware
in response to FSE setup message. Adding the logic to parse the
response message and update the CMEM parameters in the SW FST.

Change-Id: Id1dd4b59be02c175da3fc6fcb5ed56e6f491133a
CRs-Fixed: 2771187
Manikanta Pubbisetty 4 years ago
parent
commit
2db8a92735
2 changed files with 35 additions and 0 deletions
  1. 17 0
      dp/wifi3.0/dp_htt.c
  2. 18 0
      dp/wifi3.0/dp_internal.h

+ 17 - 0
dp/wifi3.0/dp_htt.c

@@ -4769,6 +4769,23 @@ static void dp_htt_t2h_msg_handler(void *context, HTC_PACKET *pkt)
 				  peer_id, win_sz, tid, status);
 				  peer_id, win_sz, tid, status);
 			break;
 			break;
 		}
 		}
+	case HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND:
+		{
+			uint16_t num_entries;
+			uint32_t cmem_ba_lo;
+			uint32_t cmem_ba_hi;
+
+			num_entries = HTT_CMEM_BASE_SEND_NUM_ENTRIES_GET(*msg_word);
+			cmem_ba_lo = *(msg_word + 1);
+			cmem_ba_hi = *(msg_word + 2);
+
+			QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO,
+				  FL("CMEM FSE num_entries %u CMEM BA LO %x HI %x"),
+				  num_entries, cmem_ba_lo, cmem_ba_hi);
+
+			dp_rx_fst_update_cmem_params(soc->dp_soc, num_entries,
+						     cmem_ba_lo, cmem_ba_hi);
+		}
 	default:
 	default:
 		break;
 		break;
 	};
 	};

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

@@ -2290,6 +2290,24 @@ void dp_is_hw_dbs_enable(struct dp_soc *soc,
 
 
 #if defined(WLAN_SUPPORT_RX_FISA)
 #if defined(WLAN_SUPPORT_RX_FISA)
 void dp_rx_dump_fisa_table(struct dp_soc *soc);
 void dp_rx_dump_fisa_table(struct dp_soc *soc);
+
+/*
+ * dp_rx_fst_update_cmem_params() - Update CMEM FST params
+ * @soc:		DP SoC context
+ * @num_entries:	Number of flow search entries
+ * @cmem_ba_lo:		CMEM base address low
+ * @cmem_ba_hi:		CMEM base address high
+ *
+ * Return: None
+ */
+void dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
+				  uint32_t cmem_ba_lo, uint32_t cmem_ba_hi);
+#else
+static inline void
+dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
+			     uint32_t cmem_ba_lo, uint32_t cmem_ba_hi)
+{
+}
 #endif /* WLAN_SUPPORT_RX_FISA */
 #endif /* WLAN_SUPPORT_RX_FISA */
 
 
 #ifdef MAX_ALLOC_PAGE_SIZE
 #ifdef MAX_ALLOC_PAGE_SIZE