Przeglądaj źródła

qcacmn: Change number of RXDMA_STATUS_RING allocations

Currently two RXDMA_STATUS rings are allocated for the station targets
irrespective of whether DBS supported or not. Only one RXDMA_STATUS_RING
being used for non-DBS targets like QCA6750 and WCN6450, hence change
the number of RXDMA_STATUS_RING allocations to 1 for non-DBS targets.

Change-Id: I4f14c8b5cee892979765f776b37d44e99ba2d558
CRs-Fixed: 3578733
Venkateswara Naralasetty 1 rok temu
rodzic
commit
c62ef80144

+ 1 - 1
dp/wifi3.0/dp_rx.h

@@ -589,7 +589,7 @@ struct dp_rx_desc *dp_get_rx_mon_status_desc_from_cookie(struct dp_soc *soc,
 	struct rx_desc_pool *rx_desc_pool;
 	union dp_rx_desc_list_elem_t *rx_desc_elem;
 
-	if (qdf_unlikely(pool_id >= NUM_RXDMA_RINGS_PER_PDEV))
+	if (qdf_unlikely(pool_id >= NUM_RXDMA_STATUS_RINGS_PER_PDEV))
 		return NULL;
 
 	rx_desc_pool = &pool[pool_id];

+ 4 - 4
dp/wifi3.0/monitor/1.0/dp_rx_mon_dest_1.0.c

@@ -1302,7 +1302,7 @@ void dp_rx_pdev_mon_desc_pool_free(struct dp_pdev *pdev)
 {
 	int mac_id;
 
-	for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++)
+	for (mac_id = 0; mac_id < NUM_RXDMA_STATUS_RINGS_PER_PDEV; mac_id++)
 		dp_rx_pdev_mon_cmn_desc_pool_free(pdev, mac_id);
 }
 
@@ -1323,7 +1323,7 @@ dp_rx_pdev_mon_desc_pool_deinit(struct dp_pdev *pdev)
 {
 	int mac_id;
 
-	for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++)
+	for (mac_id = 0; mac_id < NUM_RXDMA_STATUS_RINGS_PER_PDEV; mac_id++)
 		dp_rx_pdev_mon_cmn_desc_pool_deinit(pdev, mac_id);
 	qdf_spinlock_destroy(&pdev->monitor_pdev->mon_lock);
 }
@@ -1346,7 +1346,7 @@ dp_rx_pdev_mon_desc_pool_init(struct dp_pdev *pdev)
 {
 	int mac_id;
 
-	for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++)
+	for (mac_id = 0; mac_id < NUM_RXDMA_STATUS_RINGS_PER_PDEV; mac_id++)
 		dp_rx_pdev_mon_cmn_desc_pool_init(pdev, mac_id);
 	qdf_spinlock_create(&pdev->monitor_pdev->mon_lock);
 }
@@ -1457,7 +1457,7 @@ dp_rx_pdev_mon_desc_pool_alloc(struct dp_pdev *pdev)
 	QDF_STATUS status;
 	int mac_id, count;
 
-	for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++) {
+	for (mac_id = 0; mac_id < NUM_RXDMA_STATUS_RINGS_PER_PDEV; mac_id++) {
 		status = dp_rx_pdev_mon_cmn_desc_pool_alloc(pdev, mac_id);
 		if (!QDF_IS_STATUS_SUCCESS(status)) {
 			dp_rx_mon_dest_err("%pK: %d failed",

+ 2 - 2
wlan_cfg/wlan_cfg.c

@@ -4174,7 +4174,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
 #endif
 	wlan_cfg_ctx->num_rxdma_dst_rings_per_pdev = NUM_RXDMA_RINGS_PER_PDEV;
 	wlan_cfg_ctx->num_rxdma_status_rings_per_pdev =
-					NUM_RXDMA_RINGS_PER_PDEV;
+					NUM_RXDMA_STATUS_RINGS_PER_PDEV;
 	wlan_soc_tx_capt_cfg_attach(psoc, wlan_cfg_ctx);
 	wlan_cfg_ctx->mpdu_retry_threshold_1 =
 			cfg_get(psoc, CFG_DP_MPDU_RETRY_THRESHOLD_1);
@@ -4419,7 +4419,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
 #endif
 	wlan_cfg_ctx->num_rxdma_dst_rings_per_pdev = NUM_RXDMA_RINGS_PER_PDEV;
 	wlan_cfg_ctx->num_rxdma_status_rings_per_pdev =
-					NUM_RXDMA_RINGS_PER_PDEV;
+					NUM_RXDMA_STATUS_RINGS_PER_PDEV;
 	wlan_soc_tx_capt_cfg_attach(psoc, wlan_cfg_ctx);
 	wlan_cfg_ctx->mpdu_retry_threshold_1 =
 			cfg_get(psoc, CFG_DP_MPDU_RETRY_THRESHOLD_1);

+ 7 - 0
wlan_cfg/wlan_init_cfg.h

@@ -46,6 +46,12 @@
 /* PPDU Stats Configuration - Configure bitmask for enabling tx ppdu tlv's */
 #define DP_PPDU_TXLITE_STATS_BITMASK_CFG 0x3FFF
 
+#if defined(QCA_WIFI_QCA6750) || defined(QCA_WIFI_WCN6450)
+#define NUM_RXDMA_STATUS_RINGS_PER_PDEV 1
+#else
+#define NUM_RXDMA_STATUS_RINGS_PER_PDEV 2
+#endif
+
 #define NUM_RXDMA_RINGS_PER_PDEV 2
 
 #define DP_NUM_MACS_PER_PDEV 2
@@ -62,6 +68,7 @@
 #define WLAN_CFG_INT_NUM_CONTEXTS 16
 #define WLAN_CFG_INT_NUM_CONTEXTS_MAX 16
 #define NUM_RXDMA_RINGS_PER_PDEV 1
+#define NUM_RXDMA_STATUS_RINGS_PER_PDEV 1
 #define MAX_NUM_LMAC_HW	3
 #define DP_NUM_MACS_PER_PDEV 1