qcacmn: Add support to configure REO ring threshold

Add support to configure REO ring threshold through ini
for WLAN_DP_PER_RING_TYPE_CONFIG feature.

Change-Id: I02a14adcf243905ab25c2af12cb9499f32ff453f
CRs-Fixed: 2789147
This commit is contained in:
Nirav Shah
2020-09-30 17:06:38 +05:30
committato da snandini
parent 478749a365
commit 0fb3541617
3 ha cambiato i file con 19 aggiunte e 5 eliminazioni

Vedi File

@@ -1358,7 +1358,12 @@ dp_srng_configure_interrupt_thresholds(struct dp_soc *soc,
int ring_type, int ring_num, int ring_type, int ring_num,
int num_entries) int num_entries)
{ {
if (ring_type == WBM2SW_RELEASE && (ring_num == 3)) { if (ring_type == REO_DST) {
ring_params->intr_timer_thres_us =
wlan_cfg_get_int_timer_threshold_rx(soc->wlan_cfg_ctx);
ring_params->intr_batch_cntr_thres_entries =
wlan_cfg_get_int_batch_threshold_rx(soc->wlan_cfg_ctx);
} else if (ring_type == WBM2SW_RELEASE && (ring_num == 3)) {
ring_params->intr_timer_thres_us = ring_params->intr_timer_thres_us =
wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx); wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx);
ring_params->intr_batch_cntr_thres_entries = ring_params->intr_batch_cntr_thres_entries =

Vedi File

@@ -94,13 +94,21 @@
/* Interrupt Mitigation - Batch threshold in terms of number of frames */ /* Interrupt Mitigation - Batch threshold in terms of number of frames */
#define WLAN_CFG_INT_BATCH_THRESHOLD_TX 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX 1
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1
#define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER 1
/* Interrupt Mitigation - Timer threshold in us */ /* Interrupt Mitigation - Timer threshold in us */
#define WLAN_CFG_INT_TIMER_THRESHOLD_TX 8 #define WLAN_CFG_INT_TIMER_THRESHOLD_TX 8
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8 #define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8
#ifdef WLAN_DP_PER_RING_TYPE_CONFIG
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX \
WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX \
WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING
#else
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8
#endif
#endif #endif
#define WLAN_CFG_RX_PENDING_HL_THRESHOLD 0x60000 #define WLAN_CFG_RX_PENDING_HL_THRESHOLD 0x60000
@@ -113,6 +121,7 @@
#define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING 256 #define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING 256
#define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING 512 #define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING 512
#define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING 0
#define WLAN_CFG_PER_PDEV_RX_RING_MIN 0 #define WLAN_CFG_PER_PDEV_RX_RING_MIN 0
#define WLAN_CFG_PER_PDEV_RX_RING_MAX 0 #define WLAN_CFG_PER_PDEV_RX_RING_MAX 0
@@ -135,7 +144,7 @@
#define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MIN 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MIN 1
#define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MAX 256 #define WLAN_CFG_INT_BATCH_THRESHOLD_TX_MAX 256
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN 0
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MAX 128 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MAX 128
#define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING_MIN 1 #define WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING_MIN 1

Vedi File

@@ -330,7 +330,7 @@ struct wlan_srng_cfg g_wlan_srng_cfg[MAX_RING_TYPES];
/* REO_DST ring configuration */ /* REO_DST ring configuration */
struct wlan_srng_cfg wlan_srng_reo_cfg = { struct wlan_srng_cfg wlan_srng_reo_cfg = {
.timer_threshold = WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING, .timer_threshold = WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING,
.batch_count_threshold = 0, .batch_count_threshold = WLAN_CFG_INT_BATCH_THRESHOLD_REO_RING,
.low_threshold = 0, .low_threshold = 0,
}; };