Selaa lähdekoodia

qcacmn: Add reaping RXDMA status ring for 2.4GHz MAC for PKTLOG

Traffic will hang during PKTLOG operations for 2.4GHz Mac. The reason
is that Reaping operation is missed for RXDMPA status ring for MAC1.

Add reaping MAC1 along with MAC0 for 2.4GHz band during PKTLOG
operations in mission mode.

CRs-Fixed: 2198593
Change-Id: I8591c6cd85d7970c2d0835e18dbfd74d2aaae08e
chenguo 7 vuotta sitten
vanhempi
sitoutus
07e2404dd9
1 muutettua tiedostoa jossa 17 lisäystä ja 4 poistoa
  1. 17 4
      dp/wifi3.0/dp_main.c

+ 17 - 4
dp/wifi3.0/dp_main.c

@@ -7315,11 +7315,24 @@ int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
 static void dp_service_mon_rings(void *arg)
 {
 	struct dp_soc *soc = (struct dp_soc *) arg;
-	int ring = 0, work_done;
+	int ring = 0, work_done, mac_id;
+	struct dp_pdev *pdev = NULL;
+
+	for  (ring = 0 ; ring < MAX_PDEV_CNT; ring++) {
+		pdev = soc->pdev_list[ring];
+		if (pdev == NULL)
+			continue;
+		for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++) {
+			int mac_for_pdev = dp_get_mac_id_for_pdev(mac_id,
+								pdev->pdev_id);
+			work_done = dp_mon_process(soc, mac_for_pdev,
+							QCA_NAPI_BUDGET);
 
-	work_done = dp_mon_process(soc, ring, QCA_NAPI_BUDGET);
-	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG,
-		FL("Reaped %d descs from Monitor rings"), work_done);
+			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_DEBUG,
+				FL("Reaped %d descs from Monitor rings"),
+				work_done);
+		}
+	}
 
 	qdf_timer_mod(&soc->mon_reap_timer, DP_INTR_POLL_TIMER_MS);
 }