Browse Source

qcacmn: Fetch FISA params and rx_pkt_tlv size via CDP

Add provision to get the FISA params and rx pkt tlv size
via CDP API.

Change-Id: Ic9b42df999d395e4d739701887a36f3d30ce70f1
CRs-Fixed: 3512039
Rakesh Pillai 2 years ago
parent
commit
316750a78c
2 changed files with 24 additions and 0 deletions
  1. 14 0
      dp/inc/cdp_txrx_cmn_struct.h
  2. 10 0
      dp/wifi3.0/dp_main.c

+ 14 - 0
dp/inc/cdp_txrx_cmn_struct.h

@@ -1466,6 +1466,10 @@ enum cdp_pdev_param_type {
  * @cdp_rxdma_buf_ring_size: RXDMA buf ring size config
  * @mac_addr: vdev mac address
  * @new_vdev_id: New vdev id to which MLD peer is to be moved
+ * @fisa_params.fisa_fst_size: FISA table size
+ * @fisa_params.rx_flow_max_search: max FST entries
+ * @fisa_params.rx_toeplitz_hash_key: RX hash key
+ * @rx_pkt_tlv_size: RX packet TLV size
  */
 typedef union cdp_config_param_t {
 	/* peer params */
@@ -1571,6 +1575,12 @@ typedef union cdp_config_param_t {
 
 	uint8_t mac_addr[QDF_MAC_ADDR_SIZE];
 	uint8_t new_vdev_id;
+	struct {
+		uint32_t fisa_fst_size;
+		uint16_t rx_flow_max_search;
+		uint8_t *rx_toeplitz_hash_key;
+	} fisa_params;
+	uint16_t rx_pkt_tlv_size;
 } cdp_config_param_type;
 
 /**
@@ -1738,6 +1748,8 @@ enum cdp_vdev_param_type {
  * @CDP_CFG_REO_DST_RING_SIZE: REO destination ring size config
  * @CDP_CFG_RXDMA_REFILL_RING_SIZE: RXDMA refill ring size config
  * @CDP_CFG_RX_REFILL_POOL_NUM: RX refill pool size config param
+ * @CDP_CFG_FISA_PARAMS: FISA params
+ * @CDP_RX_PKT_TLV_SIZE: RX pkt tlv size
  */
 enum cdp_psoc_param_type {
 	CDP_ENABLE_RATE_STATS,
@@ -1762,6 +1774,8 @@ enum cdp_psoc_param_type {
 #ifdef WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL
 	CDP_CFG_RX_REFILL_POOL_NUM,
 #endif
+	CDP_CFG_FISA_PARAMS,
+	CDP_RX_PKT_TLV_SIZE,
 };
 
 #ifdef CONFIG_AP_PLATFORM

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

@@ -8086,6 +8086,16 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
 			wlan_cfg_get_rx_refill_buf_pool_size(wlan_cfg_ctx);
 		break;
 #endif
+	case CDP_CFG_FISA_PARAMS:
+		val->fisa_params.fisa_fst_size = wlan_cfg_get_rx_flow_search_table_size(soc->wlan_cfg_ctx);
+		val->fisa_params.rx_flow_max_search =
+			wlan_cfg_rx_fst_get_max_search(soc->wlan_cfg_ctx);
+		val->fisa_params.rx_toeplitz_hash_key =
+			wlan_cfg_rx_fst_get_hash_key(soc->wlan_cfg_ctx);
+		break;
+	case CDP_RX_PKT_TLV_SIZE:
+		val->rx_pkt_tlv_size = soc->rx_pkt_tlv_size;
+		break;
 	default:
 		dp_warn("Invalid param: %u", param);
 		break;