From 296c23e421bf37380ef1bf3bde76e0ced86656d9 Mon Sep 17 00:00:00 2001 From: jitiphil Date: Thu, 15 Nov 2018 16:26:14 +0530 Subject: [PATCH] qcacld-3.0: Relocate HDD DP ini items Relocate below HDD DP ini items as per converged infrastructure. 1. multicast_replay_filter; 2. rx_wakelock_timeout; 3. num_dp_rx_threads; Change-Id: I52b51e98cadc45cd23693b602cab49c268e0946e CRs-Fixed: 2351330 --- core/hdd/inc/hdd_dp_cfg.h | 58 +++++++++++++++++++++++++++++++++ core/hdd/inc/wlan_hdd_cfg.h | 60 ++--------------------------------- core/hdd/src/wlan_hdd_cfg.c | 22 ------------- core/hdd/src/wlan_hdd_tx_rx.c | 5 +++ 4 files changed, 66 insertions(+), 79 deletions(-) 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); }