Browse Source

qcacmn: Add ini param for reo dest ring

Add ini param for reo destination ring size and
cleanup usage of emulation macro

Change-Id: I6e8e0c2d8f57469289eccd3c12c07f3bf6b47c04
Chaithanya Garrepalli 3 years ago
parent
commit
4fa2c22c80
4 changed files with 13 additions and 28 deletions
  1. 0 25
      dp/wifi3.0/dp_main.c
  2. 1 1
      hal/wifi3.0/hal_tx.h
  3. 10 2
      wlan_cfg/cfg_dp.h
  4. 2 0
      wlan_cfg/wlan_cfg.c

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

@@ -3610,13 +3610,6 @@ static void dp_ipa_hal_tx_init_alt_data_ring(struct dp_soc *soc)
 #else
 
 #define REO_DST_RING_SIZE_QCA6290 1024
-#ifndef CONFIG_WIFI_EMULATION_WIFI_3_0
-#define REO_DST_RING_SIZE_QCA8074 2048
-#define REO_DST_RING_SIZE_QCN9000 2048
-#else
-#define REO_DST_RING_SIZE_QCA8074 8
-#define REO_DST_RING_SIZE_QCN9000 8
-#endif /* CONFIG_WIFI_EMULATION_WIFI_3_0 */
 
 static int dp_ipa_init_alt_tx_ring(struct dp_soc *soc)
 {
@@ -13036,8 +13029,6 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		soc->wlan_cfg_ctx->rxdma1_enable = 0;
 		break;
 	case TARGET_TYPE_QCA8074:
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, true);
 		soc->da_war_enabled = true;
 		soc->is_rx_fse_full_cache_invalidate_war_enabled = true;
@@ -13045,8 +13036,6 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 	case TARGET_TYPE_QCA8074V2:
 	case TARGET_TYPE_QCA6018:
 	case TARGET_TYPE_QCA9574:
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
 		soc->ast_override_support = 1;
 		soc->per_tid_basize_max_tid = 8;
@@ -13055,8 +13044,6 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		soc->is_rx_fse_full_cache_invalidate_war_enabled = true;
 		break;
 	case TARGET_TYPE_QCN9000:
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCN9000);
 		soc->ast_override_support = 1;
 		soc->da_war_enabled = false;
 		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
@@ -13067,8 +13054,6 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		break;
 	case TARGET_TYPE_QCA5018:
 	case TARGET_TYPE_QCN6122:
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		soc->ast_override_support = 1;
 		soc->da_war_enabled = false;
 		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
@@ -13079,8 +13064,6 @@ static void dp_soc_cfg_init(struct dp_soc *soc)
 		soc->wbm_release_desc_rx_sg_support = 1;
 		break;
 	case TARGET_TYPE_QCN9224:
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		soc->ast_override_support = 1;
 		soc->da_war_enabled = false;
 		wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
@@ -13127,8 +13110,6 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
 		break;
 	case TARGET_TYPE_QCA8074:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		break;
 	case TARGET_TYPE_QCA8074V2:
 	case TARGET_TYPE_QCA6018:
@@ -13136,20 +13117,14 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
 	case TARGET_TYPE_QCN6122:
 	case TARGET_TYPE_QCA5018:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 	case TARGET_TYPE_QCN9000:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCN9000);
 		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 	case TARGET_TYPE_QCN9224:
 		wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1);
-		wlan_cfg_set_reo_dst_ring_size(soc->wlan_cfg_ctx,
-					       REO_DST_RING_SIZE_QCA8074);
 		wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
 		break;
 	default:

+ 1 - 1
hal/wifi3.0/hal_tx.h

@@ -553,7 +553,7 @@ static inline uint32_t hal_tx_comp_get_buffer_type(void *hal_desc)
 		HAL_TX_COMP_BUFFER_OR_DESC_TYPE_LSB;
 }
 
-#if defined(QCA_WIFI_WCN7850) || defined(CONFIG_WIFI_EMULATION_WIFI_3_0)
+#ifdef QCA_WIFI_WCN7850
 /**
  * hal_tx_comp_get_buffer_source() - Get buffer release source value
  * @hal_desc: completion ring descriptor pointer

+ 10 - 2
wlan_cfg/cfg_dp.h

@@ -272,8 +272,8 @@
 #define WLAN_CFG_REO_DST_RING_SIZE 2048
 #endif
 
-#define WLAN_CFG_REO_DST_RING_SIZE_MIN 1024
-#define WLAN_CFG_REO_DST_RING_SIZE_MAX 2048
+#define WLAN_CFG_REO_DST_RING_SIZE_MIN 8
+#define WLAN_CFG_REO_DST_RING_SIZE_MAX 8192
 
 #define WLAN_CFG_REO_REINJECT_RING_SIZE 128
 #define WLAN_CFG_REO_REINJECT_RING_SIZE_MIN 32
@@ -804,6 +804,13 @@
 		WLAN_CFG_RX_RELEASE_RING_SIZE, \
 		CFG_VALUE_OR_DEFAULT, "DP Rx release ring")
 
+#define CFG_DP_RX_DESTINATION_RING \
+		CFG_INI_UINT("dp_reo_dst_ring", \
+		WLAN_CFG_REO_DST_RING_SIZE_MIN, \
+		WLAN_CFG_REO_DST_RING_SIZE_MAX, \
+		WLAN_CFG_REO_DST_RING_SIZE, \
+		CFG_VALUE_OR_DEFAULT, "DP REO destination ring")
+
 #define CFG_DP_REO_EXCEPTION_RING \
 		CFG_INI_UINT("dp_reo_exception_ring", \
 		WLAN_CFG_REO_EXCEPTION_RING_SIZE_MIN, \
@@ -1369,6 +1376,7 @@
 		CFG(CFG_DP_REO_REINJECT_RING) \
 		CFG(CFG_DP_RX_RELEASE_RING) \
 		CFG(CFG_DP_REO_EXCEPTION_RING) \
+		CFG(CFG_DP_RX_DESTINATION_RING) \
 		CFG(CFG_DP_REO_CMD_RING) \
 		CFG(CFG_DP_REO_STATUS_RING) \
 		CFG(CFG_DP_RXDMA_BUF_RING) \

+ 2 - 0
wlan_cfg/wlan_cfg.c

@@ -1177,6 +1177,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
 					     CFG_DP_TCL_CMD_CREDIT_RING);
 	wlan_cfg_ctx->tcl_status_ring = cfg_get(psoc,
 						CFG_DP_TCL_STATUS_RING);
+	wlan_cfg_ctx->reo_dst_ring_size = cfg_get(psoc,
+						  CFG_DP_RX_DESTINATION_RING);
 	wlan_cfg_ctx->reo_reinject_ring = cfg_get(psoc,
 						  CFG_DP_REO_REINJECT_RING);
 	wlan_cfg_ctx->rx_release_ring = cfg_get(psoc,