ソースを参照

qcacld-3.0: Make 1:1 mapping of REO to rx_thread

Remove CONFIG_WLAN_FEATURE_REDUCE_RX_THREADS compile flag.
Keep num rx_thread dependent on rx REO rings, 1 rx_thread for
each rx REO ring. It is controlled via INI dp_reo_rings_map.

Change-Id: I701e5cec79a8968b540c9437fe297ca1db8cd5d3
CRs-Fixed: 3048265
Prakash Manjunathappa 3 年 前
コミット
61641f0ec8
4 ファイル変更5 行追加18 行削除
  1. 0 1
      Kbuild
  2. 0 1
      configs/default_defconfig
  3. 4 9
      core/dp/txrx3.0/dp_rx_thread.h
  4. 1 7
      core/dp/txrx3.0/dp_txrx.c

+ 0 - 1
Kbuild

@@ -4271,7 +4271,6 @@ cppflags-$(CONFIG_IPA_SET_RESET_TX_DB_PA) += -DIPA_SET_RESET_TX_DB_PA
 cppflags-$(CONFIG_DEVICE_FORCE_WAKE_ENABLE) += -DDEVICE_FORCE_WAKE_ENABLE
 cppflags-$(CONFIG_WINDOW_REG_PLD_LOCK_ENABLE) += -DWINDOW_REG_PLD_LOCK_ENABLE
 cppflags-$(CONFIG_DUMP_REO_QUEUE_INFO_IN_DDR) += -DDUMP_REO_QUEUE_INFO_IN_DDR
-cppflags-$(CONFIG_WLAN_FEATURE_REDUCE_RX_THREADS) += -DWLAN_FEATURE_REDUCE_RX_THREADS
 cppflags-$(CONFIG_DP_RX_REFILL_CPU_PERF_AFFINE_MASK) += -DDP_RX_REFILL_CPU_PERF_AFFINE_MASK
 
 ifdef CONFIG_MAX_CLIENTS_ALLOWED

+ 0 - 1
configs/default_defconfig

@@ -115,7 +115,6 @@ ifeq (y,$(findstring y,$(CONFIG_CNSS_KIWI) $(CONFIG_CNSS_KIWI_V2)))
 	CONFIG_DP_FEATURE_HW_COOKIE_CONVERSION := y
 	CONFIG_DP_HW_COOKIE_CONVERT_EXCEPTION := y
 	CONFIG_WLAN_FEATURE_NEAR_FULL_IRQ := y
-	CONFIG_WLAN_FEATURE_REDUCE_RX_THREADS := y
 	CONFIG_WLAN_SYSFS_DP_STATS := y
 	CONFIG_DP_USE_REDUCED_PEER_ID_FIELD_WIDTH := y
 	CONFIG_DISABLE_STATUS_RING_TIMER_WAR := y

+ 4 - 9
core/dp/txrx3.0/dp_rx_thread.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -23,18 +24,12 @@
 #include <qdf_event.h>
 #include <qdf_threads.h>
 #include <wlan_objmgr_vdev_obj.h>
+#include "cfg_dp.h"
 
 /* Maximum number of REO rings supported (for stats tracking) */
-#ifdef CONFIG_BERYLLIUM
-#define DP_RX_TM_MAX_REO_RINGS 8
+#define DP_RX_TM_MAX_REO_RINGS WLAN_CFG_NUM_REO_DEST_RING
 /* Number of DP RX threads supported */
-#define DP_MAX_RX_THREADS 3
-#else
-#define DP_RX_TM_MAX_REO_RINGS 4
-#define DP_MAX_RX_THREADS DP_RX_TM_MAX_REO_RINGS
-#endif
-
-#define DP_REDUCED_NUM_RX_THREADS 3
+#define DP_MAX_RX_THREADS WLAN_CFG_NUM_REO_DEST_RING
 
 /*
  * struct dp_rx_tm_handle_cmn - Opaque handle for rx_threads to store

+ 1 - 7
core/dp/txrx3.0/dp_txrx.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -62,17 +63,10 @@ static void dp_rx_refill_thread_schedule(ol_txrx_soc_handle soc)
  *
  * Return: number of threads
  */
-#ifdef WLAN_FEATURE_REDUCE_RX_THREADS
-static uint8_t dp_get_rx_threads_num(ol_txrx_soc_handle soc)
-{
-	return DP_REDUCED_NUM_RX_THREADS;
-}
-#else
 static uint8_t dp_get_rx_threads_num(ol_txrx_soc_handle soc)
 {
 	return cdp_get_num_rx_contexts(soc);
 }
-#endif
 
 QDF_STATUS dp_txrx_init(ol_txrx_soc_handle soc, uint8_t pdev_id,
 			struct dp_txrx_config *config)