qcacmn: Create a wlan configuration table for ring types

1. Add config table to accommodate per ring type
   configuration to have a finer control over the
   ring.
2. Provide struct wlan_srng_cfg interface to add
   more parameters to control the ring.
3. Add interrupt threshold configuration parameters
   to wlan_srng_cfg structure.
4. Add WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING
   and WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING to have
   different timer values for REO and WBM ring.

Change-Id: Ied50e3241ab2cc181ca4ed7f126959cd5d9d2de5
CRs-Fixed: 2455297
This commit is contained in:
Venkata Sharath Chandra Manchala
2019-05-16 17:33:18 -07:00
committed by nshrivas
parent 95101bb281
commit cb6d0c0741
5 changed files with 227 additions and 40 deletions

View File

@@ -88,6 +88,9 @@
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8
#endif
#define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING 256
#define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING 256
#define WLAN_CFG_PER_PDEV_RX_RING_MIN 0
#define WLAN_CFG_PER_PDEV_RX_RING_MAX 0
@@ -112,6 +115,12 @@
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN 1
#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_MAX 128
#define WLAN_CFG_INT_BATCH_THRESHOLD_WBM_RELEASE_RING_MIN 1
#define WLAN_CFG_INT_BATCH_THRESHOLD_WBM_RELEASE_RING_MAX 128
#define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MIN 1
#define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MAX 1
@@ -124,6 +133,12 @@
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MIN 8
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER_MAX 1000
#define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MIN 8
#define WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MAX 500
#define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MIN 8
#define WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MAX 500
#define WLAN_CFG_NSS_TX_COMP_RING_SIZE 0x2000
#define WLAN_CFG_NSS_TX_COMP_RING_SIZE_MIN 0x2000
#define WLAN_CFG_NSS_TX_COMP_RING_SIZE_MAX 0xc000
@@ -257,14 +272,14 @@
WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MIN, \
WLAN_CFG_INT_BATCH_THRESHOLD_OTHER_MAX, \
WLAN_CFG_INT_BATCH_THRESHOLD_OTHER, \
CFG_VALUE_OR_DEFAULT, "DP INT threshold Other")
CFG_VALUE_OR_DEFAULT, "DP INT batch threshold Other")
#define CFG_DP_INT_BATCH_THRESHOLD_RX \
CFG_INI_UINT("dp_int_batch_threshold_rx", \
WLAN_CFG_INT_BATCH_THRESHOLD_RX_MIN, \
WLAN_CFG_INT_BATCH_THRESHOLD_RX_MAX, \
WLAN_CFG_INT_BATCH_THRESHOLD_RX, \
CFG_VALUE_OR_DEFAULT, "DP INT threshold Rx")
CFG_VALUE_OR_DEFAULT, "DP INT batch threshold Rx")
#define CFG_DP_INT_BATCH_THRESHOLD_TX \
CFG_INI_UINT("dp_int_batch_threshold_tx", \
@@ -287,6 +302,20 @@
WLAN_CFG_INT_TIMER_THRESHOLD_RX, \
CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Rx")
#define CFG_DP_INT_TIMER_THRESHOLD_REO_RING \
CFG_INI_UINT("dp_int_timer_threshold_reo_ring", \
WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MIN, \
WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING_MAX, \
WLAN_CFG_INT_TIMER_THRESHOLD_REO_RING, \
CFG_VALUE_OR_DEFAULT, "DP INT timer threshold Reo ring")
#define CFG_DP_INT_TIMER_THRESHOLD_WBM_RELEASE_RING \
CFG_INI_UINT("dp_int_timer_threshold_wbm_release_ring", \
WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MIN, \
WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING_MAX, \
WLAN_CFG_INT_TIMER_THRESHOLD_WBM_RELEASE_RING, \
CFG_VALUE_OR_DEFAULT, "DP INT timer threshold wbm release ring")
#define CFG_DP_INT_TIMER_THRESHOLD_TX \
CFG_INI_UINT("dp_int_timer_threshold_tx", \
WLAN_CFG_INT_TIMER_THRESHOLD_TX_MIN, \