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:
@@ -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 =
|
||||||
|
@@ -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
|
||||||
|
@@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Fai riferimento in un nuovo problema
Block a user