diff --git a/core/hdd/inc/hdd_dp_cfg.h b/core/hdd/inc/hdd_dp_cfg.h
index 118ba0bf8d47..52b2d507ca94 100644
--- a/core/hdd/inc/hdd_dp_cfg.h
+++ b/core/hdd/inc/hdd_dp_cfg.h
@@ -752,6 +752,61 @@
CFG_VALUE_OR_DEFAULT, \
"Control to decide rx mode for packet procesing")
+/*
+ *
+ *
+ * In a typical infrastructure setup, it is quite normal to receive
+ * replayed multicast packets. These packets may cause more harm than
+ * help if not handled properly. Providing a configuration option
+ * to enable filtering of such packets
+ *
+ *
+ */
+#define CFG_DP_FILTER_MULTICAST_REPLAY \
+ CFG_INI_BOOL("enable_multicast_replay_filter", \
+ true, "Enable filtering of replayed multicast packets")
+
+/*
+ *
+ * rx_wakelock_timeout - Amount of time to hold wakelock for RX unicast packets
+ * @Min: 0
+ * @Max: 100
+ * @Default: 50
+ *
+ * This ini item configures the amount of time, in milliseconds, that the driver
+ * should prevent system power collapse after receiving an RX unicast packet.
+ * A conigured value of 0 disables the RX Wakelock feature completely.
+ *
+ * Related: None.
+ *
+ * Supported Feature: RX Wakelock
+ *
+ * Usage: Internal/External
+ *
+ *
+ */
+#define CFG_DP_RX_WAKELOCK_TIMEOUT \
+ CFG_INI_UINT("rx_wakelock_timeout", \
+ 0, 100, 50, CFG_VALUE_OR_DEFAULT, \
+ "Amount of time to hold wakelock for RX unicast packets")
+
+/*
+ *
+ * num_dp_rx_threads - Control to set the number of dp rx threads
+ *
+ * @Min: 1
+ * @Max: 4
+ * @Default: 1
+ *
+ * Usage: Internal
+ *
+ *
+ */
+#define CFG_DP_NUM_DP_RX_THREADS \
+ CFG_INI_UINT("num_dp_rx_threads", \
+ 1, 4, 1, CFG_VALUE_OR_DEFAULT, \
+ "Control to set the number of dp rx threads")
+
#define CFG_DP_CE_SERVICE_MAX_RX_IND_FLUSH \
CFG_INI_UINT("ce_service_max_rx_ind_flush", \
1, 32, 32, \
@@ -818,6 +873,9 @@
CFG(CFG_DP_CE_SERVICE_MAX_RX_IND_FLUSH) \
CFG(CFG_DP_CE_SERVICE_MAX_YIELD_TIME) \
CFG(CFG_DP_ENABLE_TCP_PARAM_UPDATE) \
+ CFG(CFG_DP_FILTER_MULTICAST_REPLAY) \
+ CFG(CFG_DP_RX_WAKELOCK_TIMEOUT) \
+ CFG(CFG_DP_NUM_DP_RX_THREADS) \
CFG_DP_ENABLE_FASTPATH_ALL
#define CFG_HDD_DP_ALL \
CFG_HDD_DP \
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index 0a93601038dd..ddd1ffe38e04 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -4733,23 +4733,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_RESTART_BEACONING_ON_CH_AVOID_MAX (CH_AVOID_RULE_RESTART_24G_ONLY)
#define CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT (CH_AVOID_RULE_RESTART)
-/*
- *
- * num_dp_rx_threads - Control to set the number of dp rx threads
- *
- * @Min: 1
- * @Max: 4
- * @Default: 1
- *
- * Usage: Internal
- *
- *
- */
-#define CFG_NUM_DP_RX_THREADS_NAME "num_dp_rx_threads"
-#define CFG_NUM_DP_RX_THREADS_MIN (1)
-#define CFG_NUM_DP_RX_THREADS_MAX (4)
-#define CFG_NUM_DP_RX_THREADS_DEFAULT (1)
-
/*
* Support to start sap in indoor channel
* Customer can config this item to enable/disable sap in indoor channel
@@ -4811,43 +4794,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_SAP_TX_LEAKAGE_THRESHOLD_MAX (1000)
#define CFG_SAP_TX_LEAKAGE_THRESHOLD_DEFAULT (310)
-
-/*
- * Enable filtering of replayed multicast packets
- * In a typical infrastructure setup, it is quite normal to receive
- * replayed multicast packets. These packets may cause more harm than
- * help if not handled properly. Providing a configuration option
- * to enable filtering of such packets
- */
-#define CFG_FILTER_MULTICAST_REPLAY_NAME "enable_multicast_replay_filter"
-#define CFG_FILTER_MULTICAST_REPLAY_MIN (0)
-#define CFG_FILTER_MULTICAST_REPLAY_MAX (1)
-#define CFG_FILTER_MULTICAST_REPLAY_DEFAULT (1)
-
-/*
- *
- * rx_wakelock_timeout - Amount of time to hold wakelock for RX unicast packets
- * @Min: 0
- * @Max: 100
- * @Default: 50
- *
- * This ini item configures the amount of time, in milliseconds, that the driver
- * should prevent system power collapse after receiving an RX unicast packet.
- * A conigured value of 0 disables the RX Wakelock feature completely.
- *
- * Related: None.
- *
- * Supported Feature: RX Wakelock
- *
- * Usage: Internal/External
- *
- *
- */
-#define CFG_RX_WAKELOCK_TIMEOUT_NAME "rx_wakelock_timeout"
-#define CFG_RX_WAKELOCK_TIMEOUT_DEFAULT (50)
-#define CFG_RX_WAKELOCK_TIMEOUT_MIN (0)
-#define CFG_RX_WAKELOCK_TIMEOUT_MAX (100)
-
/*
*
* enable_5g_band_pref - Enable preference for 5G from INI.
@@ -6757,7 +6703,6 @@ struct hdd_config {
uint32_t fine_time_meas_cap;
uint8_t max_scan_count;
bool etsi13_srd_chan_in_master_mode;
- uint8_t num_dp_rx_threads;
uint32_t dual_mac_feature_disable;
uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
uint32_t sta_sap_scc_on_dfs_chan;
@@ -6818,8 +6763,6 @@ struct hdd_config {
bool sap_force_11n_for_11ac;
bool go_force_11n_for_11ac;
uint16_t sap_tx_leakage_threshold;
- bool multicast_replay_filter;
- uint32_t rx_wakelock_timeout;
bool sap_internal_restart;
enum restart_beaconing_on_ch_avoid_rule
restart_beaconing_on_chan_avoid_event;
@@ -6952,6 +6895,9 @@ struct hdd_config {
/* CPU affinity mask for rx_thread */
uint32_t rx_thread_affinity_mask;
uint8_t cpu_map_list[CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN];
+ bool multicast_replay_filter;
+ uint32_t rx_wakelock_timeout;
+ uint8_t num_dp_rx_threads;
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index 934bf36c1f48..9e46f9178b6a 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -1942,13 +1942,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ADAPT_DWELL_WIFI_THRESH_MIN,
CFG_ADAPT_DWELL_WIFI_THRESH_MAX),
- REG_VARIABLE(CFG_NUM_DP_RX_THREADS_NAME, WLAN_PARAM_Integer,
- struct hdd_config, num_dp_rx_threads,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_NUM_DP_RX_THREADS_DEFAULT,
- CFG_NUM_DP_RX_THREADS_MIN,
- CFG_NUM_DP_RX_THREADS_MAX),
-
REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME,
WLAN_PARAM_Integer,
struct hdd_config, indoor_channel_support,
@@ -1987,21 +1980,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_GO_FORCE_11N_FOR_11AC_MIN,
CFG_GO_FORCE_11N_FOR_11AC_MAX),
- REG_VARIABLE(CFG_FILTER_MULTICAST_REPLAY_NAME,
- WLAN_PARAM_Integer,
- struct hdd_config, multicast_replay_filter,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_FILTER_MULTICAST_REPLAY_DEFAULT,
- CFG_FILTER_MULTICAST_REPLAY_MIN,
- CFG_FILTER_MULTICAST_REPLAY_MAX),
-
- REG_VARIABLE(CFG_RX_WAKELOCK_TIMEOUT_NAME, WLAN_PARAM_Integer,
- struct hdd_config, rx_wakelock_timeout,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_RX_WAKELOCK_TIMEOUT_DEFAULT,
- CFG_RX_WAKELOCK_TIMEOUT_MIN,
- CFG_RX_WAKELOCK_TIMEOUT_MAX),
-
REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
struct hdd_config, restart_beaconing_on_chan_avoid_event,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c
index 56202604e390..0424394a3b63 100644
--- a/core/hdd/src/wlan_hdd_tx_rx.c
+++ b/core/hdd/src/wlan_hdd_tx_rx.c
@@ -2802,4 +2802,9 @@ void hdd_dp_cfg_update(struct wlan_objmgr_psoc *psoc,
config->tx_orphan_enable = cfg_get(psoc, CFG_DP_TX_ORPHAN_ENABLE);
config->rx_mode = cfg_get(psoc, CFG_DP_RX_MODE);
hdd_set_rx_mode_value(hdd_ctx);
+ config->multicast_replay_filter =
+ cfg_get(psoc, CFG_DP_FILTER_MULTICAST_REPLAY);
+ config->rx_wakelock_timeout =
+ cfg_get(psoc, CFG_DP_RX_WAKELOCK_TIMEOUT);
+ config->num_dp_rx_threads = cfg_get(psoc, CFG_DP_NUM_DP_RX_THREADS);
}