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
This commit is contained in:
Chaithanya Garrepalli
2021-08-31 17:32:14 +05:30
committed by Madan Koyyalamudi
parent b98c3e9250
commit 4fa2c22c80
4 changed files with 13 additions and 28 deletions

View File

@@ -3610,13 +3610,6 @@ static void dp_ipa_hal_tx_init_alt_data_ring(struct dp_soc *soc)
#else #else
#define REO_DST_RING_SIZE_QCA6290 1024 #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) 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; soc->wlan_cfg_ctx->rxdma1_enable = 0;
break; break;
case TARGET_TYPE_QCA8074: 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); wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, true);
soc->da_war_enabled = true; soc->da_war_enabled = true;
soc->is_rx_fse_full_cache_invalidate_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_QCA8074V2:
case TARGET_TYPE_QCA6018: case TARGET_TYPE_QCA6018:
case TARGET_TYPE_QCA9574: 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); wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, false);
soc->ast_override_support = 1; soc->ast_override_support = 1;
soc->per_tid_basize_max_tid = 8; 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; soc->is_rx_fse_full_cache_invalidate_war_enabled = true;
break; break;
case TARGET_TYPE_QCN9000: 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->ast_override_support = 1;
soc->da_war_enabled = false; soc->da_war_enabled = false;
wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, 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; break;
case TARGET_TYPE_QCA5018: case TARGET_TYPE_QCA5018:
case TARGET_TYPE_QCN6122: 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->ast_override_support = 1;
soc->da_war_enabled = false; soc->da_war_enabled = false;
wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, 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; soc->wbm_release_desc_rx_sg_support = 1;
break; break;
case TARGET_TYPE_QCN9224: 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->ast_override_support = 1;
soc->da_war_enabled = false; soc->da_war_enabled = false;
wlan_cfg_set_raw_mode_war(soc->wlan_cfg_ctx, 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; break;
case TARGET_TYPE_QCA8074: case TARGET_TYPE_QCA8074:
wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1); 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; break;
case TARGET_TYPE_QCA8074V2: case TARGET_TYPE_QCA8074V2:
case TARGET_TYPE_QCA6018: 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_QCN6122:
case TARGET_TYPE_QCA5018: case TARGET_TYPE_QCA5018:
wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1); 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); wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
break; break;
case TARGET_TYPE_QCN9000: case TARGET_TYPE_QCN9000:
wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1); 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); wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
break; break;
case TARGET_TYPE_QCN9224: case TARGET_TYPE_QCN9224:
wlan_cfg_set_tso_desc_attach_defer(soc->wlan_cfg_ctx, 1); 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); wlan_cfg_set_rxdma1_enable(soc->wlan_cfg_ctx);
break; break;
default: default:

View File

@@ -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; 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_tx_comp_get_buffer_source() - Get buffer release source value
* @hal_desc: completion ring descriptor pointer * @hal_desc: completion ring descriptor pointer

View File

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

View File

@@ -1177,6 +1177,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
CFG_DP_TCL_CMD_CREDIT_RING); CFG_DP_TCL_CMD_CREDIT_RING);
wlan_cfg_ctx->tcl_status_ring = cfg_get(psoc, wlan_cfg_ctx->tcl_status_ring = cfg_get(psoc,
CFG_DP_TCL_STATUS_RING); 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, wlan_cfg_ctx->reo_reinject_ring = cfg_get(psoc,
CFG_DP_REO_REINJECT_RING); CFG_DP_REO_REINJECT_RING);
wlan_cfg_ctx->rx_release_ring = cfg_get(psoc, wlan_cfg_ctx->rx_release_ring = cfg_get(psoc,