From 07df8d3deb3f1c89e73828832a5e7d716f843bd3 Mon Sep 17 00:00:00 2001 From: Nandha Kishore Easwaran Date: Fri, 15 May 2020 12:06:20 +0530 Subject: [PATCH] qcacmn: Decrease monitor ring low threshold Make the monitor ring low threshold to half of that of MON_BUF_MIN_ENTRIES. This is needed so that spurious interrupts because of reaching low threshold is avoided. Change-Id: Idfc5dda2e96ad69bf35c3ab4f5cf81931104504e --- dp/wifi3.0/dp_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index 430007389b..3f5a68bbaf 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -1372,6 +1372,15 @@ dp_srng_configure_interrupt_thresholds(struct dp_soc *soc, ring_params->intr_batch_cntr_thres_entries = 0; } + /* During initialisation monitor rings are only filled with + * MON_BUF_MIN_ENTRIES entries. So low threshold needs to be set to + * a value less than that. Once HTT dynamic config of ring threshold + * setting is enabled, then the low threshold updated should be + * adjusted accrodingly. + */ + if (ring_type == RXDMA_MONITOR_BUF) + ring_params->low_threshold = MON_BUF_MIN_ENTRIES >> 1; + /* In case of PCI chipsets, we dont have PPDU end interrupts, * so MONITOR STATUS ring is reaped by receiving MSI from srng. * Keep batch threshold as 8 so that interrupt is received for