qcacld-3.0: Apply PMO configures

Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.

Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
This commit is contained in:
Wu Gao
2018-09-26 19:55:41 +08:00
committato da nshrivas
parent 87bfd3520c
commit 66454f118f
24 ha cambiato i file con 127 aggiunte e 1054 eliminazioni

Vedi File

@@ -39,6 +39,8 @@
#define CFG_NAN_ALL #define CFG_NAN_ALL
#endif #endif
#include "wlan_pmo_cfg.h"
/* Maintain Alphabetic order here while adding components */ /* Maintain Alphabetic order here while adding components */
#define CFG_ALL \ #define CFG_ALL \
CFG_CONVERGED_ALL \ CFG_CONVERGED_ALL \
@@ -46,4 +48,5 @@
CFG_MLME_ALL \ CFG_MLME_ALL \
CFG_NAN_ALL \ CFG_NAN_ALL \
CFG_P2P_ALL \ CFG_P2P_ALL \
CFG_PMO_ALL \
CFG_TDLS_ALL CFG_TDLS_ALL

Vedi File

@@ -60,15 +60,9 @@ enum active_apf_mode {
* struct cds_config_info - Place Holder for cds configuration * struct cds_config_info - Place Holder for cds configuration
* @max_station: Max station supported * @max_station: Max station supported
* @max_bssid: Max Bssid Supported * @max_bssid: Max Bssid Supported
* @powersave_offload_enabled: Indicate if powersave offload is enabled
* @sta_maxlimod_dtim: station max listen interval * @sta_maxlimod_dtim: station max listen interval
* @sta_mod_dtim: station mode DTIM
* @sta_dynamic_dtim: station dynamic DTIM
* @driver_type: Enumeration of Driver Type whether FTM or Mission mode * @driver_type: Enumeration of Driver Type whether FTM or Mission mode
* @wow_enable: Indicate whether wow is enabled or not
* currently rest of bits are not used * currently rest of bits are not used
* @ssdp: Indicate ssdp is enabled or not
* @enable_mc_list : To Check if Multicast list filtering is enabled in FW
* @dfs_phyerr_filter_offload: DFS Phyerror Filtering offload status from ini * @dfs_phyerr_filter_offload: DFS Phyerror Filtering offload status from ini
* Indicates whether support is enabled or not * Indicates whether support is enabled or not
* @ap_disable_intrabss_fwd: pass intra-bss-fwd info to txrx module * @ap_disable_intrabss_fwd: pass intra-bss-fwd info to txrx module
@@ -94,7 +88,6 @@ enum active_apf_mode {
* @num_dp_rx_threads: number of dp rx threads to be configured * @num_dp_rx_threads: number of dp rx threads to be configured
* @enable_dp_rx_threads: enable dp rx threads * @enable_dp_rx_threads: enable dp rx threads
* @is_lpass_enabled: Indicate whether LPASS is enabled or not * @is_lpass_enabled: Indicate whether LPASS is enabled or not
* @bool apf_packet_filter_enable; Indicate apf filter enabled or not
* @tx_chain_mask_cck: Tx chain mask enabled or not * @tx_chain_mask_cck: Tx chain mask enabled or not
* @self_gen_frm_pwr: Self gen from power * @self_gen_frm_pwr: Self gen from power
* @sub_20_channel_width: Sub 20 MHz ch width, ini intersected with fw cap * @sub_20_channel_width: Sub 20 MHz ch width, ini intersected with fw cap
@@ -104,7 +97,6 @@ enum active_apf_mode {
* mode for uc packets * mode for uc packets
* @active_mc_bc_apf_mode: Setting that determines how APF is applied in * @active_mc_bc_apf_mode: Setting that determines how APF is applied in
* active mode for MC/BC packets * active mode for MC/BC packets
* @auto_power_save_fail_mode: auto detect power save failure mode
* @ito_repeat_count: Indicates ito repeated count * @ito_repeat_count: Indicates ito repeated count
* @force_target_assert_enabled: Indicate whether target assert enabled or not * @force_target_assert_enabled: Indicate whether target assert enabled or not
* @bandcapability: Configured band by user * @bandcapability: Configured band by user
@@ -117,14 +109,8 @@ enum active_apf_mode {
struct cds_config_info { struct cds_config_info {
uint16_t max_station; uint16_t max_station;
uint16_t max_bssid; uint16_t max_bssid;
uint8_t powersave_offload_enabled;
uint8_t sta_maxlimod_dtim; uint8_t sta_maxlimod_dtim;
uint8_t sta_mod_dtim;
uint8_t sta_dynamic_dtim;
enum qdf_driver_type driver_type; enum qdf_driver_type driver_type;
uint8_t wow_enable;
bool ssdp;
bool enable_mc_list;
uint8_t dfs_phyerr_filter_offload; uint8_t dfs_phyerr_filter_offload;
uint8_t ap_disable_intrabss_fwd; uint8_t ap_disable_intrabss_fwd;
uint8_t ap_maxoffload_peers; uint8_t ap_maxoffload_peers;
@@ -153,7 +139,6 @@ struct cds_config_info {
#ifdef WLAN_FEATURE_LPSS #ifdef WLAN_FEATURE_LPSS
bool is_lpass_enabled; bool is_lpass_enabled;
#endif #endif
bool apf_packet_filter_enable;
uint16_t self_gen_frm_pwr; uint16_t self_gen_frm_pwr;
enum cfg_sub_20_channel_width sub_20_channel_width; enum cfg_sub_20_channel_width sub_20_channel_width;
bool flow_steering_enabled; bool flow_steering_enabled;
@@ -163,7 +148,6 @@ struct cds_config_info {
struct ol_tx_sched_wrr_ac_specs_t ac_specs[TX_WMM_AC_NUM]; struct ol_tx_sched_wrr_ac_specs_t ac_specs[TX_WMM_AC_NUM];
enum active_apf_mode active_uc_apf_mode; enum active_apf_mode active_uc_apf_mode;
enum active_apf_mode active_mc_bc_apf_mode; enum active_apf_mode active_mc_bc_apf_mode;
enum pmo_auto_pwr_detect_failure_mode auto_power_save_fail_mode;
uint8_t ito_repeat_count; uint8_t ito_repeat_count;
bool force_target_assert_enabled; bool force_target_assert_enabled;
uint8_t bandcapability; uint8_t bandcapability;

Vedi File

@@ -3753,21 +3753,6 @@ enum station_keepalive_method {
#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX) #define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX)
#define CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STADEF) #define CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STADEF)
#define CFG_ENABLE_HOST_ARPOFFLOAD_NAME "hostArpOffload"
#define CFG_ENABLE_HOST_ARPOFFLOAD_MIN (0)
#define CFG_ENABLE_HOST_ARPOFFLOAD_MAX (1)
#define CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT (1)
#define CFG_ENABLE_HOST_SSDP_NAME "ssdp"
#define CFG_ENABLE_HOST_SSDP_MIN (0)
#define CFG_ENABLE_HOST_SSDP_MAX (1)
#define CFG_ENABLE_HOST_SSDP_DEFAULT (1)
#define CFG_ENABLE_HOST_NSOFFLOAD_NAME "hostNSOffload"
#define CFG_ENABLE_HOST_NSOFFLOAD_MIN (0)
#define CFG_ENABLE_HOST_NSOFFLOAD_MAX (1)
#define CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT (1)
/* /*
* <ini> * <ini>
* gHwFilterMode - configure hardware filter for DTIM mode * gHwFilterMode - configure hardware filter for DTIM mode
@@ -4675,18 +4660,6 @@ enum hdd_link_speed_rpt_type {
#define HDD_MULTICAST_FILTER_LIST 0x04 #define HDD_MULTICAST_FILTER_LIST 0x04
#define HDD_MULTICAST_FILTER_LIST_CLEAR 0x05 #define HDD_MULTICAST_FILTER_LIST_CLEAR 0x05
/*
* Enable Dynamic DTIM
* Options
* 0 -Disable DynamicDTIM
* 1 to 5 - SLM will switch to DTIM specified here when host suspends and
* switch DTIM1 when host resumes
*/
#define CFG_ENABLE_DYNAMIC_DTIM_NAME "gEnableDynamicDTIM"
#define CFG_ENABLE_DYNAMIC_DTIM_MIN (0)
#define CFG_ENABLE_DYNAMIC_DTIM_MAX (9)
#define CFG_ENABLE_DYNAMIC_DTIM_DEFAULT (0)
/* /*
* <ini> * <ini>
* gConfigVCmodeBitmap - Bitmap for operating voltage corner mode * gConfigVCmodeBitmap - Bitmap for operating voltage corner mode
@@ -5011,15 +4984,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX (100) #define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX (100)
#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT (94) #define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT (94)
/*
* Enable/Disable Modulated DTIM feature
* Default: Disable
*/
#define CFG_ENABLE_MODULATED_DTIM_NAME "gEnableModulatedDTIM"
#define CFG_ENABLE_MODULATED_DTIM_MIN (0)
#define CFG_ENABLE_MODULATED_DTIM_MAX (5)
#define CFG_ENABLE_MODULATED_DTIM_DEFAULT (0)
/* /*
* <ini> * <ini>
* gMCAddrListEnable - Enable/Disable Multicast MAC Address List feature * gMCAddrListEnable - Enable/Disable Multicast MAC Address List feature
@@ -5823,25 +5787,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ENABLE_MEMORY_DEBUG_DEFAULT (1) #define CFG_ENABLE_MEMORY_DEBUG_DEFAULT (1)
#endif #endif
/*
* <ini>
* g_auto_detect_power_failure_mode - auto detect power save failure mode
* @Min: PMO_FW_TO_CRASH_ON_PWR_FAILURE
* @Max: PMO_AUTO_PWR_FAILURE_DETECT_DISABLE
* @Default: PMO_FW_TO_CRASH_ON_PWR_FAILURE
*
* This ini specifies the behavior of FW in case of
* CHIP_POWER_SAVE_FAIL_DETECTED event
*
* Usage: External
*
* </ini>
*/
#define CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME "g_auto_detect_power_failure_mode"
#define CFG_AUTO_DETECT_POWER_FAIL_MODE_DEFAULT (PMO_FW_TO_CRASH_ON_PWR_FAILURE)
#define CFG_AUTO_DETECT_POWER_FAIL_MODE_MIN (PMO_FW_TO_CRASH_ON_PWR_FAILURE)
#define CFG_AUTO_DETECT_POWER_FAIL_MODE_MAX \
(PMO_AUTO_PWR_FAILURE_DETECT_DISABLE)
/* /*
* <ini> * <ini>
* gMaxAmsduNum - Max number of MSDU's in aggregate * gMaxAmsduNum - Max number of MSDU's in aggregate
@@ -6661,38 +6606,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_MAX_MSDUS_PER_RXIND_MIN (4) #define CFG_MAX_MSDUS_PER_RXIND_MIN (4)
#define CFG_MAX_MSDUS_PER_RXIND_MAX (32) #define CFG_MAX_MSDUS_PER_RXIND_MAX (32)
#define CFG_MAX_MSDUS_PER_RXIND_DEFAULT (32) #define CFG_MAX_MSDUS_PER_RXIND_DEFAULT (32)
/*
* In static display use case when APPS is in stand alone power save mode enable
* active offload mode which helps FW to filter out MC/BC data packets to avoid
* APPS wake up and save more power.
*
* By default enable active mode offload as it helps to save more power in
* static display usecase(APPS stand alone power collapse).
*
* If active mode offload(gActiveModeOffload=1) is enabled then all applicable
* data offload/filtering is enabled immediately in FW once config is available
* in WLAN driver and FW caches this configuration across suspend/resume
*
* If active mode offload is disabled(gActiveModeOffload=0) then all applicable
* data offload/filtering is enabled during cfg80211 suspend and disabled
* during cfg80211 resume
*
* Active mode offload feature is bydefault enabled for all targets
*/
#define CFG_ACTIVE_MODE_OFFLOAD "gActiveModeOffload"
#define CFG_ACTIVE_MODE_OFFLOAD_MIN (0)
#define CFG_ACTIVE_MODE_OFFLOAD_MAX (1)
#define CFG_ACTIVE_MODE_OFFLOAD_DEFAULT (1)
/*
* 0: Disable APF packet filter
* 1: Enable APF packet filter
*/
#define CFG_APF_PACKET_FILTER_OFFLOAD "gBpfFilterEnable"
#define CFG_APF_PACKET_FILTER_OFFLOAD_MIN (0)
#define CFG_APF_PACKET_FILTER_OFFLOAD_MAX (1)
#define CFG_APF_PACKET_FILTER_OFFLOAD_DEFAULT (1)
/* /*
* <ini> * <ini>
@@ -7766,47 +7679,6 @@ enum hdd_link_speed_rpt_type {
*/ */
#define CFG_RPS_RX_QUEUE_CPU_MAP_LIST_LEN 30 #define CFG_RPS_RX_QUEUE_CPU_MAP_LIST_LEN 30
#ifdef WLAN_FEATURE_WOW_PULSE
/*
* Enable/Disable WOW PULSE feature
* Set the wakeup pulse which FW use to wake up HOST
* Default : Disable
*/
#define CFG_WOW_PULSE_SUPPORT_NAME "gwow_pulse_support"
#define CFG_WOW_PULSE_SUPPORT_MIN (0)
#define CFG_WOW_PULSE_SUPPORT_MAX (1)
#define CFG_WOW_PULSE_SUPPORT_DEFAULT (CFG_WOW_PULSE_SUPPORT_MIN)
/*
* GPIO PIN for Pulse
* Which PIN to send the Pulse
*/
#define CFG_WOW_PULSE_PIN_NAME "gwow_pulse_pin"
#define CFG_WOW_PULSE_PIN_MIN (CFG_SET_TSF_GPIO_PIN_MIN)
#define CFG_WOW_PULSE_PIN_MAX (CFG_SET_TSF_GPIO_PIN_MAX)
#define CFG_WOW_PULSE_PIN_DEFAULT (35)
/*
* Pulse interval low
* The interval of low level in the pulse
* The value which defined by customer should between 160 and 480
*/
#define CFG_WOW_PULSE_INTERVAL_LOW_NAME "gwow_pulse_interval_low"
#define CFG_WOW_PULSE_INTERVAL_LOW_MIN (160)
#define CFG_WOW_PULSE_INTERVAL_LOW_MAX (480)
#define CFG_WOW_PULSE_INTERVAL_LOW_DEFAULT (180)
/*
* Pulse interval high
* The interval of high level in the pulse
* The value which defined by customer should between 20 and 40
*/
#define CFG_WOW_PULSE_INTERVAL_HIGH_NAME "gwow_pulse_interval_high"
#define CFG_WOW_PULSE_INTERVAL_HIGH_MIN (20)
#define CFG_WOW_PULSE_INTERVAL_HIGH_MAX (40)
#define CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT (20)
#endif
/* /*
* Support to start sap in indoor channel * Support to start sap in indoor channel
* Customer can config this item to enable/disable sap in indoor channel * Customer can config this item to enable/disable sap in indoor channel
@@ -8369,329 +8241,6 @@ enum hdd_wext_control {
#define CFG_ENABLE_RUNTIME_PM_MIN (0) #define CFG_ENABLE_RUNTIME_PM_MIN (0)
#define CFG_ENABLE_RUNTIME_PM_MAX (1) #define CFG_ENABLE_RUNTIME_PM_MAX (1)
#define CFG_ENABLE_RUNTIME_PM_DEFAULT (0) #define CFG_ENABLE_RUNTIME_PM_DEFAULT (0)
/*
* <ini>
* gRuntimePMDelay - Set runtime pm's inactivity timer
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to set runtime pm's inactivity timer value.
* the wlan driver will wait for this number of milliseconds of
* inactivity before performing a runtime suspend.
*
* Related: gRuntimePM
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_RUNTIME_PM_DELAY_NAME "gRuntimePMDelay"
#define CFG_RUNTIME_PM_DELAY_MIN (100)
#define CFG_RUNTIME_PM_DELAY_MAX (10000)
#define CFG_RUNTIME_PM_DELAY_DEFAULT (500)
#endif
/*
* <ini>
* gEnablePowerSaveOffload - Enable Power Save Offload
* @Min: 0
* @Max: 5
* @Default: 0
*
* This ini is used to set Power Save Offload configuration:
* Current values of gEnablePowerSaveOffload:
* 0 -> Power save offload is disabled
* 1 -> Legacy Power save enabled + Deep sleep Disabled
* 2 -> QPower enabled + Deep sleep Disabled
* 3 -> Legacy Power save enabled + Deep sleep Enabled
* 4 -> QPower enabled + Deep sleep Enabled
* 5 -> Duty cycling QPower enabled
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_POWERSAVE_OFFLOAD_NAME "gEnablePowerSaveOffload"
#define CFG_POWERSAVE_OFFLOAD_MIN (0)
#define CFG_POWERSAVE_OFFLOAD_MAX (PS_DUTY_CYCLING_QPOWER)
#define CFG_POWERSAVE_OFFLOAD_DEFAULT (CFG_POWERSAVE_OFFLOAD_MIN)
/*
* <ini>
* gEnableWoW - Enable/Disable WoW
* @Min: 0
* @Max: 3
* @Default: 3
*
* This ini is used to enable/disable WoW. Configurations are as follows:
* 0 - Disable both magic pattern match and pattern byte match.
* 1 - Enable magic pattern match on all interfaces.
* 2 - Enable pattern byte match on all interfaces.
* 3 - Enable both magic patter and pattern byte match on all interfaces.
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_WOW_STATUS_NAME "gEnableWoW"
#define CFG_WOW_ENABLE_MIN (0)
#define CFG_WOW_ENABLE_MAX (3)
#define CFG_WOW_STATUS_DEFAULT (3)
#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
/*
* <ini>
* gExtWoWgotoSuspend - Enable/Disable Extended WoW
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to enable/disable Extended WoW.
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_GO_TO_SUSPEND "gExtWoWgotoSuspend"
#define CFG_EXTWOW_GO_TO_SUSPEND_MIN (0)
#define CFG_EXTWOW_GO_TO_SUSPEND_MAX (1)
#define CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT (1)
/*
* <ini>
* gExtWowApp1WakeupPinNumber - Set wakeup1 PIN number
* @Min: 0
* @Max: 255
* @Default: 12
*
* This ini is used to set EXT WOW APP1 wakeup PIN number
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER "gExtWowApp1WakeupPinNumber"
#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN (0)
#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX (255)
#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT (12)
/*
* <ini>
* gExtWowApp2WakeupPinNumber - Set wakeup2 PIN number
* @Min: 0
* @Max: 255
* @Default: 16
*
* This ini is used to set EXT WOW APP2 wakeup PIN number
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER "gExtWowApp2WakeupPinNumber"
#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN (0)
#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX (255)
#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT (16)
/*
* <ini>
* gExtWoWApp2KAInitPingInterval - Set Keep Alive Init Ping Interval
* @Min: 0
* @Max: 0xffffffff
* @Default: 240
*
* This ini is used to set Keep Alive Init Ping Interval for EXT WOW
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_KA_INIT_PING_INTERVAL "gExtWoWApp2KAInitPingInterval"
#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN (0)
#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX (0xffffffff)
#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT (240)
/*
* <ini>
* gExtWoWApp2KAMinPingInterval - Set Keep Alive Minimum Ping Interval
* @Min: 0
* @Max: 0xffffffff
* @Default: 240
*
* This ini is used to set Keep Alive Minimum Ping Interval for EXT WOW
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_KA_MIN_PING_INTERVAL "gExtWoWApp2KAMinPingInterval"
#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN (0)
#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX (0xffffffff)
#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT (240)
/*
* <ini>
* gExtWoWApp2KAMaxPingInterval - Set Keep Alive Maximum Ping Interval
* @Min: 0
* @Max: 0xffffffff
* @Default: 1280
*
* This ini is used to set Keep Alive Maximum Ping Interval for EXT WOW
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_KA_MAX_PING_INTERVAL "gExtWoWApp2KAMaxPingInterval"
#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN (0)
#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX (0xffffffff)
#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT (1280)
/*
* <ini>
* gExtWoWApp2KAIncPingInterval - Set Keep Alive increment of Ping Interval
* @Min: 0
* @Max: 0xffffffff
* @Default: 4
*
* This ini is used to set Keep Alive increment of Ping Interval for EXT WOW
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_KA_INC_PING_INTERVAL "gExtWoWApp2KAIncPingInterval"
#define CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN (0)
#define CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX (0xffffffff)
#define CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT (4)
/*
* <ini>
* gExtWoWApp2KAIncPingInterval - Set TCP source port
* @Min: 0
* @Max: 65535
* @Default: 5000
*
* This ini is used to set TCP source port when EXT WOW is enabled
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_TCP_SRC_PORT "gExtWoWApp2TcpSrcPort"
#define CFG_EXTWOW_TCP_SRC_PORT_MIN (0)
#define CFG_EXTWOW_TCP_SRC_PORT_MAX (65535)
#define CFG_EXTWOW_TCP_SRC_PORT_DEFAULT (5000)
/*
* <ini>
* gExtWoWApp2TcpDstPort - Set TCP Destination port
* @Min: 0
* @Max: 65535
* @Default: 5001
*
* This ini is used to set TCP Destination port when EXT WOW is enabled
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_TCP_DST_PORT "gExtWoWApp2TcpDstPort"
#define CFG_EXTWOW_TCP_DST_PORT_MIN (0)
#define CFG_EXTWOW_TCP_DST_PORT_MAX (65535)
#define CFG_EXTWOW_TCP_DST_PORT_DEFAULT (5001)
/*
* <ini>
* gExtWoWApp2TcpTxTimeout - Set TCP tx timeout
* @Min: 0
* @Max: 0xffffffff
* @Default: 200
*
* This ini is used to set TCP Tx timeout when EXT WOW is enabled
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_TCP_TX_TIMEOUT "gExtWoWApp2TcpTxTimeout"
#define CFG_EXTWOW_TCP_TX_TIMEOUT_MIN (0)
#define CFG_EXTWOW_TCP_TX_TIMEOUT_MAX (0xffffffff)
#define CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT (200)
/*
* <ini>
* gExtWoWApp2TcpRxTimeout - Set TCP rx timeout
* @Min: 0
* @Max: 0xffffffff
* @Default: 200
*
* This ini is used to set TCP Rx timeout when EXT WOW is enabled
*
* Related: None
*
* Supported Feature: Power Save
*
* Usage: External
*
* </ini>
*/
#define CFG_EXTWOW_TCP_RX_TIMEOUT "gExtWoWApp2TcpRxTimeout"
#define CFG_EXTWOW_TCP_RX_TIMEOUT_MIN (0)
#define CFG_EXTWOW_TCP_RX_TIMEOUT_MAX (0xffffffff)
#define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200)
#endif #endif
/** /**
@@ -10493,8 +10042,6 @@ struct hdd_config {
/* In units of milliseconds */ /* In units of milliseconds */
uint32_t idle_time_conc; uint32_t idle_time_conc;
uint8_t nMaxPsPoll;
uint8_t nRssiFilterPeriod; uint8_t nRssiFilterPeriod;
uint8_t fMaxLIModulatedDTIM; uint8_t fMaxLIModulatedDTIM;
@@ -10559,16 +10106,8 @@ struct hdd_config {
char enableConcurrentSTA[CFG_CONCURRENT_IFACE_MAX_LEN]; char enableConcurrentSTA[CFG_CONCURRENT_IFACE_MAX_LEN];
/* Control for Replay counetr. value 1 means
* single replay counter for all TID
*/
bool fhostArpOffload;
enum pmo_hw_filter_mode hw_filter_mode_bitmap;
bool ssdp;
#ifdef FEATURE_RUNTIME_PM #ifdef FEATURE_RUNTIME_PM
bool runtime_pm; bool runtime_pm;
uint32_t runtime_pm_delay;
#endif #endif
#ifdef FEATURE_WLAN_RA_FILTERING #ifdef FEATURE_WLAN_RA_FILTERING
@@ -10578,7 +10117,6 @@ struct hdd_config {
#ifdef FEATURE_WLAN_SCAN_PNO #ifdef FEATURE_WLAN_SCAN_PNO
bool PnoOffload; bool PnoOffload;
#endif #endif
bool fhostNSOffload;
bool burstSizeDefinition; bool burstSizeDefinition;
uint8_t tsInfoAckPolicy; uint8_t tsInfoAckPolicy;
@@ -10617,7 +10155,6 @@ struct hdd_config {
uint8_t enableBypass11d; uint8_t enableBypass11d;
uint8_t enableDFSChnlScan; uint8_t enableDFSChnlScan;
uint8_t enable_dfs_pno_chnl_scan; uint8_t enable_dfs_pno_chnl_scan;
uint8_t enableDynamicDTIM;
uint8_t ShortGI40MhzEnable; uint8_t ShortGI40MhzEnable;
enum hdd_link_speed_rpt_type reportMaxLinkSpeed; enum hdd_link_speed_rpt_type reportMaxLinkSpeed;
int32_t linkSpeedRssiHigh; int32_t linkSpeedRssiHigh;
@@ -10683,8 +10220,6 @@ struct hdd_config {
uint8_t enableAmpduPs; uint8_t enableAmpduPs;
uint8_t enableHtSmps; uint8_t enableHtSmps;
uint8_t htSmps; uint8_t htSmps;
uint8_t enableModulatedDTIM;
uint32_t fEnableMCAddrList;
bool enableFirstScan2GOnly; bool enableFirstScan2GOnly;
bool enableRxSTBC; bool enableRxSTBC;
bool enableTxSTBC; bool enableTxSTBC;
@@ -10721,7 +10256,6 @@ struct hdd_config {
uint32_t ibssPs1RxChainInAtimEnable; uint32_t ibssPs1RxChainInAtimEnable;
bool enable_ip_tcp_udp_checksum_offload; bool enable_ip_tcp_udp_checksum_offload;
uint8_t enablePowersaveOffload;
bool enablefwprint; bool enablefwprint;
uint8_t enable_fw_log; uint8_t enable_fw_log;
uint8_t fVhtAmpduLenExponent; uint8_t fVhtAmpduLenExponent;
@@ -10738,7 +10272,6 @@ struct hdd_config {
#ifdef FEATURE_WLAN_AUTO_SHUTDOWN #ifdef FEATURE_WLAN_AUTO_SHUTDOWN
uint32_t WlanAutoShutdown; uint32_t WlanAutoShutdown;
#endif #endif
uint8_t wowEnable;
uint8_t disableDFSChSwitch; uint8_t disableDFSChSwitch;
uint8_t enableDFSMasterCap; uint8_t enableDFSMasterCap;
uint32_t TxPower2g; uint32_t TxPower2g;
@@ -10831,19 +10364,6 @@ struct hdd_config {
bool enable_sap_suspend; bool enable_sap_suspend;
#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
uint8_t extWowGotoSuspend;
uint8_t extWowApp1WakeupPinNumber;
uint8_t extWowApp2WakeupPinNumber;
uint32_t extWowApp2KAInitPingInterval;
uint32_t extWowApp2KAMinPingInterval;
uint32_t extWowApp2KAMaxPingInterval;
uint32_t extWowApp2KAIncPingInterval;
uint16_t extWowApp2TcpSrcPort;
uint16_t extWowApp2TcpDstPort;
uint32_t extWowApp2TcpTxTimeout;
uint32_t extWowApp2TcpRxTimeout;
#endif
bool gEnableDeauthToDisassocMap; bool gEnableDeauthToDisassocMap;
#ifdef DHCP_SERVER_OFFLOAD #ifdef DHCP_SERVER_OFFLOAD
bool enableDHCPServerOffload; bool enableDHCPServerOffload;
@@ -10872,8 +10392,6 @@ struct hdd_config {
bool gro_enable; bool gro_enable;
bool flow_steering_enable; bool flow_steering_enable;
uint8_t max_msdus_per_rxinorderind; uint8_t max_msdus_per_rxinorderind;
bool active_mode_offload;
bool apf_packet_filter_enable;
/* parameter for defer timer for enabling TDLS on p2p listen */ /* parameter for defer timer for enabling TDLS on p2p listen */
uint32_t fine_time_meas_cap; uint32_t fine_time_meas_cap;
uint8_t max_scan_count; uint8_t max_scan_count;
@@ -10981,12 +10499,6 @@ struct hdd_config {
uint32_t rx_wakelock_timeout; uint32_t rx_wakelock_timeout;
uint32_t max_sched_scan_plan_interval; uint32_t max_sched_scan_plan_interval;
uint32_t max_sched_scan_plan_iterations; uint32_t max_sched_scan_plan_iterations;
#ifdef WLAN_FEATURE_WOW_PULSE
bool wow_pulse_support;
uint8_t wow_pulse_pin;
uint16_t wow_pulse_interval_high;
uint16_t wow_pulse_interval_low;
#endif
enum hdd_wext_control private_wext_control; enum hdd_wext_control private_wext_control;
bool sap_internal_restart; bool sap_internal_restart;
enum restart_beaconing_on_ch_avoid_rule enum restart_beaconing_on_ch_avoid_rule
@@ -11024,7 +10536,6 @@ struct hdd_config {
bool is_force_1x1; bool is_force_1x1;
uint8_t enable_rts_sifsbursting; uint8_t enable_rts_sifsbursting;
uint8_t max_mpdus_inampdu; uint8_t max_mpdus_inampdu;
enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode;
uint8_t ito_repeat_count; uint8_t ito_repeat_count;
bool enable_11d_in_world_mode; bool enable_11d_in_world_mode;
/* 5G preference parameters for boosting RSSI */ /* 5G preference parameters for boosting RSSI */
@@ -11049,9 +10560,6 @@ struct hdd_config {
uint32_t wlm_latency_flags_moderate; uint32_t wlm_latency_flags_moderate;
uint32_t wlm_latency_flags_low; uint32_t wlm_latency_flags_low;
uint32_t wlm_latency_flags_ultralow; uint32_t wlm_latency_flags_ultralow;
#ifdef WLAN_FEATURE_PACKET_FILTERING
uint8_t packet_filters_bitmap;
#endif
uint8_t enable_phy_reg_retention; uint8_t enable_phy_reg_retention;
uint8_t dfs_beacon_tx_enhanced; uint8_t dfs_beacon_tx_enhanced;
uint32_t btm_offload_config; uint32_t btm_offload_config;

Vedi File

@@ -1975,7 +1975,6 @@ struct hdd_context {
enum twt_status twt_state; enum twt_status twt_state;
#endif #endif
#ifdef FEATURE_WLAN_APF #ifdef FEATURE_WLAN_APF
bool apf_supported;
uint32_t apf_version; uint32_t apf_version;
bool apf_enabled_v2; bool apf_enabled_v2;
#endif #endif

Vedi File

@@ -637,7 +637,7 @@ __wlan_hdd_cfg80211_apf_offload(struct wiphy *wiphy,
return -EINVAL; return -EINVAL;
} }
if (!hdd_ctx->apf_supported) { if (!ucfg_pmo_is_apf_enabled(hdd_ctx->psoc)) {
hdd_err("APF is not supported or disabled through INI"); hdd_err("APF is not supported or disabled through INI");
return -ENOTSUPP; return -ENOTSUPP;
} }

Vedi File

@@ -726,13 +726,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_IDLE_TIME_MIN, CFG_IDLE_TIME_MIN,
CFG_IDLE_TIME_MAX), CFG_IDLE_TIME_MAX),
REG_VARIABLE(CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
struct hdd_config, nMaxPsPoll,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_MAX_PS_POLL_DEFAULT,
CFG_MAX_PS_POLL_MIN,
CFG_MAX_PS_POLL_MAX),
REG_VARIABLE(CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
struct hdd_config, nTxPowerCap, struct hdd_config, nTxPowerCap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1348,20 +1341,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_QOS_WMM_BURST_SIZE_DEFN_MIN, CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
CFG_QOS_WMM_BURST_SIZE_DEFN_MAX), CFG_QOS_WMM_BURST_SIZE_DEFN_MAX),
REG_VARIABLE(CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
struct hdd_config, fhostArpOffload,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
CFG_ENABLE_HOST_ARPOFFLOAD_MAX),
REG_VARIABLE(CFG_HW_FILTER_MODE_BITMAP_NAME, WLAN_PARAM_Integer,
struct hdd_config, hw_filter_mode_bitmap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_HW_FILTER_MODE_BITMAP_DEFAULT,
CFG_HW_FILTER_MODE_BITMAP_MIN,
CFG_HW_FILTER_MODE_BITMAP_MAX),
#ifdef FEATURE_WLAN_RA_FILTERING #ifdef FEATURE_WLAN_RA_FILTERING
REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer,
struct hdd_config, IsRArateLimitEnabled, struct hdd_config, IsRArateLimitEnabled,
@@ -1378,13 +1357,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_RA_RATE_LIMIT_INTERVAL_MAX), CFG_RA_RATE_LIMIT_INTERVAL_MAX),
#endif #endif
REG_VARIABLE(CFG_ENABLE_HOST_SSDP_NAME, WLAN_PARAM_Integer,
struct hdd_config, ssdp,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_HOST_SSDP_DEFAULT,
CFG_ENABLE_HOST_SSDP_MIN,
CFG_ENABLE_HOST_SSDP_MAX),
#ifdef FEATURE_RUNTIME_PM #ifdef FEATURE_RUNTIME_PM
REG_VARIABLE(CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer, REG_VARIABLE(CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer,
struct hdd_config, runtime_pm, struct hdd_config, runtime_pm,
@@ -1392,23 +1364,8 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_RUNTIME_PM_DEFAULT, CFG_ENABLE_RUNTIME_PM_DEFAULT,
CFG_ENABLE_RUNTIME_PM_MIN, CFG_ENABLE_RUNTIME_PM_MIN,
CFG_ENABLE_RUNTIME_PM_MAX), CFG_ENABLE_RUNTIME_PM_MAX),
REG_VARIABLE(CFG_RUNTIME_PM_DELAY_NAME, WLAN_PARAM_Integer,
struct hdd_config, runtime_pm_delay,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_RUNTIME_PM_DELAY_DEFAULT,
CFG_RUNTIME_PM_DELAY_MIN,
CFG_RUNTIME_PM_DELAY_MAX),
#endif #endif
REG_VARIABLE(CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
struct hdd_config, fhostNSOffload,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
CFG_ENABLE_HOST_NSOFFLOAD_MIN,
CFG_ENABLE_HOST_NSOFFLOAD_MAX),
REG_VARIABLE(CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME, WLAN_PARAM_HexInteger, REG_VARIABLE(CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME, WLAN_PARAM_HexInteger,
struct hdd_config, tsInfoAckPolicy, struct hdd_config, tsInfoAckPolicy,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1629,13 +1586,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN, CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN,
CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX), CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX),
REG_VARIABLE(CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableDynamicDTIM,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
CFG_ENABLE_DYNAMIC_DTIM_MIN,
CFG_ENABLE_DYNAMIC_DTIM_MAX),
REG_VARIABLE(CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
struct hdd_config, ShortGI40MhzEnable, struct hdd_config, ShortGI40MhzEnable,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1771,20 +1721,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN, CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN,
CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX), CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX),
REG_VARIABLE(CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableModulatedDTIM,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_MODULATED_DTIM_DEFAULT,
CFG_ENABLE_MODULATED_DTIM_MIN,
CFG_ENABLE_MODULATED_DTIM_MAX),
REG_VARIABLE(CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
struct hdd_config, fEnableMCAddrList,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
CFG_MC_ADDR_LIST_ENABLE_MIN,
CFG_MC_ADDR_LIST_ENABLE_MAX),
REG_VARIABLE(CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer, REG_VARIABLE(CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
struct hdd_config, vhtChannelWidth, struct hdd_config, vhtChannelWidth,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
@@ -2134,13 +2070,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE, CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE,
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE), CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE),
REG_VARIABLE(CFG_POWERSAVE_OFFLOAD_NAME, WLAN_PARAM_Integer,
struct hdd_config, enablePowersaveOffload,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
CFG_POWERSAVE_OFFLOAD_DEFAULT,
CFG_POWERSAVE_OFFLOAD_MIN,
CFG_POWERSAVE_OFFLOAD_MAX),
REG_VARIABLE(CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_ENABLE_FW_UART_PRINT_NAME, WLAN_PARAM_Integer,
struct hdd_config, enablefwprint, struct hdd_config, enablefwprint,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2206,13 +2135,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_VHT_MPDU_LEN_MIN, CFG_VHT_MPDU_LEN_MIN,
CFG_VHT_MPDU_LEN_MAX), CFG_VHT_MPDU_LEN_MAX),
REG_VARIABLE(CFG_WOW_STATUS_NAME, WLAN_PARAM_Integer,
struct hdd_config, wowEnable,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_WOW_STATUS_DEFAULT,
CFG_WOW_ENABLE_MIN,
CFG_WOW_ENABLE_MAX),
REG_VARIABLE(CFG_COALESING_IN_IBSS_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_COALESING_IN_IBSS_NAME, WLAN_PARAM_Integer,
struct hdd_config, isCoalesingInIBSSAllowed, struct hdd_config, isCoalesingInIBSSAllowed,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2676,84 +2598,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_SAP_SUSPEND_MIN, CFG_ENABLE_SAP_SUSPEND_MIN,
CFG_ENABLE_SAP_SUSPEND_MAX), CFG_ENABLE_SAP_SUSPEND_MAX),
#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
REG_VARIABLE(CFG_EXTWOW_GO_TO_SUSPEND, WLAN_PARAM_Integer,
struct hdd_config, extWowGotoSuspend,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT,
CFG_EXTWOW_GO_TO_SUSPEND_MIN,
CFG_EXTWOW_GO_TO_SUSPEND_MAX),
REG_VARIABLE(CFG_EXTWOW_APP1_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
struct hdd_config, extWowApp1WakeupPinNumber,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT,
CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN,
CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX),
REG_VARIABLE(CFG_EXTWOW_APP2_WAKE_PIN_NUMBER, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2WakeupPinNumber,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT,
CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN,
CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX),
REG_VARIABLE(CFG_EXTWOW_KA_INIT_PING_INTERVAL, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2KAInitPingInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT,
CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN,
CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX),
REG_VARIABLE(CFG_EXTWOW_KA_MIN_PING_INTERVAL, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2KAMinPingInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT,
CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN,
CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX),
REG_VARIABLE(CFG_EXTWOW_KA_MAX_PING_INTERVAL, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2KAMaxPingInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT,
CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN,
CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX),
REG_VARIABLE(CFG_EXTWOW_KA_INC_PING_INTERVAL, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2KAIncPingInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT,
CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN,
CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX),
REG_VARIABLE(CFG_EXTWOW_TCP_SRC_PORT, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2TcpSrcPort,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_TCP_SRC_PORT_DEFAULT,
CFG_EXTWOW_TCP_SRC_PORT_MIN,
CFG_EXTWOW_TCP_SRC_PORT_MAX),
REG_VARIABLE(CFG_EXTWOW_TCP_DST_PORT, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2TcpDstPort,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_TCP_DST_PORT_DEFAULT,
CFG_EXTWOW_TCP_DST_PORT_MIN,
CFG_EXTWOW_TCP_DST_PORT_MAX),
REG_VARIABLE(CFG_EXTWOW_TCP_TX_TIMEOUT, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2TcpTxTimeout,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT,
CFG_EXTWOW_TCP_TX_TIMEOUT_MIN,
CFG_EXTWOW_TCP_TX_TIMEOUT_MAX),
REG_VARIABLE(CFG_EXTWOW_TCP_RX_TIMEOUT, WLAN_PARAM_Integer,
struct hdd_config, extWowApp2TcpRxTimeout,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT,
CFG_EXTWOW_TCP_RX_TIMEOUT_MIN,
CFG_EXTWOW_TCP_RX_TIMEOUT_MAX),
#endif
REG_VARIABLE(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME, WLAN_PARAM_Integer,
struct hdd_config, gEnableDeauthToDisassocMap, struct hdd_config, gEnableDeauthToDisassocMap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2912,13 +2756,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_GRO_ENABLED_MIN, CFG_GRO_ENABLED_MIN,
CFG_GRO_ENABLED_MAX), CFG_GRO_ENABLED_MAX),
REG_VARIABLE(CFG_APF_PACKET_FILTER_OFFLOAD, WLAN_PARAM_Integer,
struct hdd_config, apf_packet_filter_enable,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_APF_PACKET_FILTER_OFFLOAD_DEFAULT,
CFG_APF_PACKET_FILTER_OFFLOAD_MIN,
CFG_APF_PACKET_FILTER_OFFLOAD_MAX),
REG_VARIABLE(CFG_FLOW_STEERING_ENABLED_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_FLOW_STEERING_ENABLED_NAME, WLAN_PARAM_Integer,
struct hdd_config, flow_steering_enable, struct hdd_config, flow_steering_enable,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2933,13 +2770,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_MAX_MSDUS_PER_RXIND_MIN, CFG_MAX_MSDUS_PER_RXIND_MIN,
CFG_MAX_MSDUS_PER_RXIND_MAX), CFG_MAX_MSDUS_PER_RXIND_MAX),
REG_VARIABLE(CFG_ACTIVE_MODE_OFFLOAD, WLAN_PARAM_Integer,
struct hdd_config, active_mode_offload,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ACTIVE_MODE_OFFLOAD_DEFAULT,
CFG_ACTIVE_MODE_OFFLOAD_MIN,
CFG_ACTIVE_MODE_OFFLOAD_MAX),
REG_VARIABLE(CFG_FINE_TIME_MEAS_CAPABILITY, WLAN_PARAM_HexInteger, REG_VARIABLE(CFG_FINE_TIME_MEAS_CAPABILITY, WLAN_PARAM_HexInteger,
struct hdd_config, fine_time_meas_cap, struct hdd_config, fine_time_meas_cap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2969,37 +2799,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN, CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN,
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX), CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX),
#ifdef WLAN_FEATURE_WOW_PULSE
REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer,
struct hdd_config, wow_pulse_support,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_WOW_PULSE_SUPPORT_DEFAULT,
CFG_WOW_PULSE_SUPPORT_MIN,
CFG_WOW_PULSE_SUPPORT_MAX),
REG_VARIABLE(CFG_WOW_PULSE_PIN_NAME, WLAN_PARAM_Integer,
struct hdd_config, wow_pulse_pin,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_WOW_PULSE_PIN_DEFAULT,
CFG_WOW_PULSE_PIN_MIN,
CFG_WOW_PULSE_PIN_MAX),
REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_LOW_NAME, WLAN_PARAM_Integer,
struct hdd_config, wow_pulse_interval_low,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_WOW_PULSE_INTERVAL_LOW_DEFAULT,
CFG_WOW_PULSE_INTERVAL_LOW_MIN,
CFG_WOW_PULSE_INTERVAL_LOW_MAX),
REG_VARIABLE(CFG_WOW_PULSE_INTERVAL_HIGH_NAME, WLAN_PARAM_Integer,
struct hdd_config, wow_pulse_interval_high,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_WOW_PULSE_INTERVAL_HIGH_DEFAULT,
CFG_WOW_PULSE_INTERVAL_HIGH_MIN,
CFG_WOW_PULSE_INTERVAL_HIGH_MAX),
#endif
REG_VARIABLE(CFG_CE_CLASSIFY_ENABLE_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_CE_CLASSIFY_ENABLE_NAME, WLAN_PARAM_Integer,
struct hdd_config, ce_classify_enabled, struct hdd_config, ce_classify_enabled,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3711,13 +3510,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_TX_ORPHAN_ENABLE_MIN, CFG_TX_ORPHAN_ENABLE_MIN,
CFG_TX_ORPHAN_ENABLE_MAX), CFG_TX_ORPHAN_ENABLE_MAX),
REG_VARIABLE(CFG_AUTO_DETECT_POWER_FAIL_MODE_NAME, WLAN_PARAM_Integer,
struct hdd_config, auto_pwr_save_fail_mode,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_AUTO_DETECT_POWER_FAIL_MODE_DEFAULT,
CFG_AUTO_DETECT_POWER_FAIL_MODE_MIN,
CFG_AUTO_DETECT_POWER_FAIL_MODE_MAX),
REG_VARIABLE(CFG_ITO_REPEAT_COUNT_NAME, WLAN_PARAM_Integer, REG_VARIABLE(CFG_ITO_REPEAT_COUNT_NAME, WLAN_PARAM_Integer,
struct hdd_config, ito_repeat_count, struct hdd_config, ito_repeat_count,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3858,15 +3650,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_LATENCY_FLAGS_ULTRALOW_MAX), CFG_LATENCY_FLAGS_ULTRALOW_MAX),
#ifdef WLAN_FEATURE_PACKET_FILTERING
REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
struct hdd_config, packet_filters_bitmap,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_PACKET_FILTERS_DEFAULT,
CFG_ENABLE_PACKET_FILTERS_MIN,
CFG_ENABLE_PACKET_FILTERS_MAX),
#endif /* WLAN_FEATURE_PACKET_FILTERING */
REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer, REG_VARIABLE(CFG_DFS_BEACON_TX_ENHANCED, WLAN_PARAM_Integer,
struct hdd_config, dfs_beacon_tx_enhanced, struct hdd_config, dfs_beacon_tx_enhanced,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -4983,8 +4766,8 @@ static void hdd_override_all_ps(struct hdd_context *hdd_ctx)
cfg_ini->is_ps_enabled = 0; cfg_ini->is_ps_enabled = 0;
hdd_disable_runtime_pm(cfg_ini); hdd_disable_runtime_pm(cfg_ini);
hdd_disable_auto_shutdown(cfg_ini); hdd_disable_auto_shutdown(cfg_ini);
cfg_ini->enablePowersaveOffload = 0; ucfg_pmo_set_power_save_mode(hdd_ctx->psoc, PS_NOT_SUPPORTED);
cfg_ini->wowEnable = 0; ucfg_pmo_set_wow_enable(hdd_ctx->psoc, PMO_WOW_DISABLE_BOTH);
} }
/** /**
@@ -5558,12 +5341,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME to CFG"); hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME to CFG");
} }
if (sme_cfg_set_int(mac_handle, WNI_CFG_MAX_PS_POLL,
config->nMaxPsPoll) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_MAX_PS_POLL to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, if (sme_cfg_set_int(mac_handle, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT,
config->nDataInactivityTimeout) == QDF_STATUS_E_FAILURE) { config->nDataInactivityTimeout) == QDF_STATUS_E_FAILURE) {
status = false; status = false;
@@ -5577,7 +5354,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Fail to pass WNI_CFG_PS_WOW_DATA_INACTIVITY_TO CFG"); hdd_err("Fail to pass WNI_CFG_PS_WOW_DATA_INACTIVITY_TO CFG");
} }
if (sme_cfg_set_int(mac_handle, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, if (sme_cfg_set_int(mac_handle, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT,
config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) { config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
status = false; status = false;
@@ -5609,12 +5385,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_HEART_BEAT_THRESHOLD to CFG"); hdd_err("Couldn't pass on WNI_CFG_HEART_BEAT_THRESHOLD to CFG");
} }
if (sme_cfg_set_int(mac_handle, WNI_CFG_ENABLE_MC_ADDR_LIST,
config->fEnableMCAddrList) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, if (sme_cfg_set_int(mac_handle, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
config->enableMCCAdaptiveScheduler) == config->enableMCCAdaptiveScheduler) ==
QDF_STATUS_E_FAILURE) { QDF_STATUS_E_FAILURE) {

Vedi File

@@ -121,6 +121,8 @@
#include "wlan_mlme_public_struct.h" #include "wlan_mlme_public_struct.h"
#include "wlan_extscan_ucfg_api.h" #include "wlan_extscan_ucfg_api.h"
#include "wlan_mlme_ucfg_api.h" #include "wlan_mlme_ucfg_api.h"
#include "wlan_pmo_cfg.h"
#include "cfg_ucfg_api.h"
#include "wlan_crypto_global_api.h" #include "wlan_crypto_global_api.h"
#include "wlan_nl_to_crypto_params.h" #include "wlan_nl_to_crypto_params.h"
@@ -5554,7 +5556,7 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
override_li = nla_get_u32( override_li = nla_get_u32(
tb[QCA_WLAN_VENDOR_ATTR_CONFIG_LISTEN_INTERVAL]); tb[QCA_WLAN_VENDOR_ATTR_CONFIG_LISTEN_INTERVAL]);
if (override_li > CFG_ENABLE_DYNAMIC_DTIM_MAX) { if (override_li > cfg_max(CFG_PMO_ENABLE_DYNAMIC_DTIM)) {
hdd_err_rl("Invalid value for listen interval - %d", hdd_err_rl("Invalid value for listen interval - %d",
override_li); override_li);
return -EINVAL; return -EINVAL;
@@ -7167,12 +7169,13 @@ __wlan_hdd_cfg80211_set_ns_offload(struct wiphy *wiphy,
status = wlan_hdd_validate_context(hdd_ctx); status = wlan_hdd_validate_context(hdd_ctx);
if (0 != status) if (0 != status)
return status; return status;
if (!hdd_ctx->config->fhostNSOffload) {
if (!ucfg_pmo_is_ns_offloaded(hdd_ctx->psoc)) {
hdd_err("ND Offload not supported"); hdd_err("ND Offload not supported");
return -EINVAL; return -EINVAL;
} }
if (!hdd_ctx->config->active_mode_offload) { if (!ucfg_pmo_is_active_mode_offloaded(hdd_ctx->psoc)) {
hdd_warn("Active mode offload is disabled"); hdd_warn("Active mode offload is disabled");
return -EINVAL; return -EINVAL;
} }

Vedi File

@@ -61,7 +61,7 @@ wlan_hdd_mc_addr_list_info_debugfs(struct hdd_context *hdd_ctx,
struct pmo_mc_addr_list mc_addr_list = {0}; struct pmo_mc_addr_list mc_addr_list = {0};
QDF_STATUS status; QDF_STATUS status;
if (!hdd_ctx->config->fEnableMCAddrList) { if (!ucfg_pmo_is_mc_addr_list_enabled(hdd_ctx->psoc)) {
ret = scnprintf(buf, buf_avail_len, ret = scnprintf(buf, buf_avail_len,
"\nMC addr ini is disabled\n"); "\nMC addr ini is disabled\n");
if (ret > 0) if (ret > 0)

Vedi File

@@ -73,8 +73,6 @@ int hdd_update_cds_config_ftm(struct hdd_context *hdd_ctx)
} }
cds_cfg->driver_type = QDF_DRIVER_TYPE_MFG; cds_cfg->driver_type = QDF_DRIVER_TYPE_MFG;
cds_cfg->powersave_offload_enabled =
hdd_ctx->config->enablePowersaveOffload;
hdd_lpass_populate_cds_config(cds_cfg, hdd_ctx); hdd_lpass_populate_cds_config(cds_cfg, hdd_ctx);
cds_cfg->sub_20_channel_width = WLAN_SUB_20_CH_WIDTH_NONE; cds_cfg->sub_20_channel_width = WLAN_SUB_20_CH_WIDTH_NONE;
cds_cfg->self_recovery_enabled = hdd_ctx->config->enableSelfRecovery; cds_cfg->self_recovery_enabled = hdd_ctx->config->enableSelfRecovery;

Vedi File

@@ -1840,7 +1840,7 @@ static int hdd_enable_ext_wow(struct hdd_adapter *adapter,
goto exit; goto exit;
} }
if (hdd_ctx->config->extWowGotoSuspend) { if (ucfg_pmo_extwow_is_goto_suspend_enabled(hdd_ctx->psoc)) {
hdd_info("Received ready to ExtWoW. Going to suspend"); hdd_info("Received ready to ExtWoW. Going to suspend");
rc = wlan_hdd_cfg80211_suspend_wlan(hdd_ctx->wiphy, NULL); rc = wlan_hdd_cfg80211_suspend_wlan(hdd_ctx->wiphy, NULL);
@@ -1857,6 +1857,7 @@ static int hdd_enable_ext_wow(struct hdd_adapter *adapter,
goto exit; goto exit;
} }
} }
exit: exit:
osif_request_put(request); osif_request_put(request);
return rc; return rc;
@@ -1868,6 +1869,7 @@ static int hdd_enable_ext_wow_parser(struct hdd_adapter *adapter, int vdev_id,
tSirExtWoWParams params; tSirExtWoWParams params;
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter); struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
int rc; int rc;
uint8_t pin1, pin2;
rc = wlan_hdd_validate_context(hdd_ctx); rc = wlan_hdd_validate_context(hdd_ctx);
if (rc) if (rc)
@@ -1896,9 +1898,9 @@ static int hdd_enable_ext_wow_parser(struct hdd_adapter *adapter, int vdev_id,
} }
params.vdev_id = vdev_id; params.vdev_id = vdev_id;
params.wakeup_pin_num = hdd_ctx->config->extWowApp1WakeupPinNumber | pin1 = ucfg_pmo_extwow_app1_wakeup_pin_num(hdd_ctx->psoc);
(hdd_ctx->config->extWowApp2WakeupPinNumber pin2 = ucfg_pmo_extwow_app2_wakeup_pin_num(hdd_ctx->psoc);
<< 8); params.wakeup_pin_num = pin1 | (pin2 << 8);
return hdd_enable_ext_wow(adapter, &params); return hdd_enable_ext_wow(adapter, &params);
} }
@@ -2028,33 +2030,38 @@ static int hdd_set_app_type2_parser(struct hdd_adapter *adapter,
qdf_mem_copy(params.rc4_key, rc4_key, params.rc4_key_len); qdf_mem_copy(params.rc4_key, rc4_key, params.rc4_key_len);
params.vdev_id = adapter->session_id; params.vdev_id = adapter->session_id;
params.tcp_src_port = (params.tcp_src_port != 0) ?
params.tcp_src_port : hdd_ctx->config->extWowApp2TcpSrcPort; if (!params.tcp_src_port)
params.tcp_dst_port = (params.tcp_dst_port != 0) ? params.tcp_src_port =
params.tcp_dst_port : hdd_ctx->config->extWowApp2TcpDstPort; ucfg_pmo_extwow_app2_tcp_src_port(hdd_ctx->psoc);
params.keepalive_init = (params.keepalive_init != 0) ?
params.keepalive_init : hdd_ctx->config-> if (!params.tcp_dst_port)
extWowApp2KAInitPingInterval; params.tcp_dst_port =
params.keepalive_min = ucfg_pmo_extwow_app2_tcp_dst_port(hdd_ctx->psoc);
(params.keepalive_min != 0) ?
params.keepalive_min : if (!params.keepalive_init)
hdd_ctx->config->extWowApp2KAMinPingInterval; params.keepalive_init =
params.keepalive_max = ucfg_pmo_extwow_app2_init_ping_interval(hdd_ctx->psoc);
(params.keepalive_max != 0) ?
params.keepalive_max : if (!params.keepalive_min)
hdd_ctx->config->extWowApp2KAMaxPingInterval; params.keepalive_min =
params.keepalive_inc = ucfg_pmo_extwow_app2_min_ping_interval(hdd_ctx->psoc);
(params.keepalive_inc != 0) ?
params.keepalive_inc : if (!params.keepalive_max)
hdd_ctx->config->extWowApp2KAIncPingInterval; params.keepalive_max =
params.tcp_tx_timeout_val = ucfg_pmo_extwow_app2_max_ping_interval(hdd_ctx->psoc);
(params.tcp_tx_timeout_val != 0) ?
params.tcp_tx_timeout_val : if (!params.keepalive_inc)
hdd_ctx->config->extWowApp2TcpTxTimeout; params.keepalive_inc =
params.tcp_rx_timeout_val = ucfg_pmo_extwow_app2_inc_ping_interval(hdd_ctx->psoc);
(params.tcp_rx_timeout_val != 0) ?
params.tcp_rx_timeout_val : if (!params.tcp_tx_timeout_val)
hdd_ctx->config->extWowApp2TcpRxTimeout; params.tcp_tx_timeout_val =
ucfg_pmo_extwow_app2_tcp_tx_timeout(hdd_ctx->psoc);
if (!params.tcp_rx_timeout_val)
params.tcp_rx_timeout_val =
ucfg_pmo_extwow_app2_tcp_rx_timeout(hdd_ctx->psoc);
hdd_debug("%pM %.16s %u %u %u %u %u %u %u %u %u %u %u %u %u", hdd_debug("%pM %.16s %u %u %u %u %u %u %u %u %u %u %u %u %u",
gateway_mac, rc4_key, params.ip_id, gateway_mac, rc4_key, params.ip_id,
@@ -6301,7 +6308,7 @@ static int hdd_set_rx_filter(struct hdd_adapter *adapter, bool action,
return -EINVAL; return -EINVAL;
} }
if (!hdd_ctx->config->fEnableMCAddrList) { if (!ucfg_pmo_is_mc_addr_list_enabled(hdd_ctx->psoc)) {
hdd_warn("mc addr ini is disabled"); hdd_warn("mc addr ini is disabled");
return -EINVAL; return -EINVAL;
} }

Vedi File

@@ -1248,6 +1248,7 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx,
struct wma_tgt_services *cfg) struct wma_tgt_services *cfg)
{ {
struct hdd_config *config = hdd_ctx->config; struct hdd_config *config = hdd_ctx->config;
bool arp_offload_enable;
#ifdef FEATURE_WLAN_TDLS #ifdef FEATURE_WLAN_TDLS
bool tdls_support; bool tdls_support;
bool tdls_off_channel; bool tdls_off_channel;
@@ -1269,8 +1270,10 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx,
config->dot11Mode = eHDD_DOT11_MODE_AUTO; config->dot11Mode = eHDD_DOT11_MODE_AUTO;
/* ARP offload: override user setting if invalid */ /* ARP offload: override user setting if invalid */
config->fhostArpOffload &= cfg->arp_offload; arp_offload_enable =
ucfg_pmo_is_arp_offload_enabled(hdd_ctx->psoc);
ucfg_pmo_set_arp_offload_enabled(hdd_ctx->psoc,
arp_offload_enable & cfg->arp_offload);
#ifdef FEATURE_WLAN_SCAN_PNO #ifdef FEATURE_WLAN_SCAN_PNO
/* PNO offload */ /* PNO offload */
hdd_debug("PNO Capability in f/w = %d", cfg->pno_offload); hdd_debug("PNO Capability in f/w = %d", cfg->pno_offload);
@@ -1892,29 +1895,6 @@ static int hdd_generate_macaddr_auto(struct hdd_context *hdd_ctx)
return 0; return 0;
} }
#ifdef FEATURE_WLAN_APF
/**
* hdd_update_apf_support() - Update APF supported flag in hdd context
* @hdd_ctx: Pointer to hdd_ctx
* @cfg: target configuration
*
* Update the APF support flag in HDD Context using INI and target config.
*
* Return: None
*/
static void hdd_update_apf_support(struct hdd_context *hdd_ctx,
struct wma_tgt_cfg *cfg)
{
hdd_ctx->apf_supported = (cfg->apf_enabled &&
hdd_ctx->config->apf_packet_filter_enable);
}
#else
static void hdd_update_apf_support(struct hdd_context *hdd_ctx,
struct wma_tgt_cfg *cfg)
{
}
#endif
/** /**
* hdd_update_ra_rate_limit() - Update RA rate limit from target * hdd_update_ra_rate_limit() - Update RA rate limit from target
* configuration to cfg_ini in HDD * configuration to cfg_ini in HDD
@@ -2128,10 +2108,7 @@ void hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg)
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
hdd_err("fw update WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED to CFG fails"); hdd_err("fw update WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED to CFG fails");
hdd_update_apf_support(hdd_ctx, cfg); hdd_debug("Target 8ss fw support %d txBFCsnValue %d",
hdd_debug("Target APF %d Host APF %d 8ss fw support %d txBFCsnValue %d",
cfg->apf_enabled, hdd_ctx->config->apf_packet_filter_enable,
cfg->tx_bfee_8ss_enabled, hdd_ctx->config->txBFCsnValue); cfg->tx_bfee_8ss_enabled, hdd_ctx->config->txBFCsnValue);
/* /*
@@ -8241,24 +8218,25 @@ static void hdd_init_offloaded_packets_ctx(struct hdd_context *hdd_ctx)
*/ */
static int wlan_hdd_set_wow_pulse(struct hdd_context *phddctx, bool enable) static int wlan_hdd_set_wow_pulse(struct hdd_context *phddctx, bool enable)
{ {
struct hdd_config *pcfg_ini = phddctx->config;
struct wow_pulse_mode wow_pulse_set_info; struct wow_pulse_mode wow_pulse_set_info;
QDF_STATUS status; QDF_STATUS status;
hdd_debug("wow pulse enable flag is %d", enable); hdd_debug("wow pulse enable flag is %d", enable);
if (false == phddctx->config->wow_pulse_support) if (!ucfg_pmo_is_wow_pulse_enabled(phddctx->psoc))
return 0; return 0;
/* prepare the request to send to SME */ /* prepare the request to send to SME */
if (enable == true) { if (enable == true) {
wow_pulse_set_info.wow_pulse_enable = true; wow_pulse_set_info.wow_pulse_enable = true;
wow_pulse_set_info.wow_pulse_pin = wow_pulse_set_info.wow_pulse_pin =
pcfg_ini->wow_pulse_pin; ucfg_pmo_get_wow_pulse_pin(phddctx->psoc);
wow_pulse_set_info.wow_pulse_interval_low =
pcfg_ini->wow_pulse_interval_low;
wow_pulse_set_info.wow_pulse_interval_high = wow_pulse_set_info.wow_pulse_interval_high =
pcfg_ini->wow_pulse_interval_high; ucfg_pmo_get_wow_pulse_interval_high(phddctx->psoc);
wow_pulse_set_info.wow_pulse_interval_low =
ucfg_pmo_get_wow_pulse_interval_low(phddctx->psoc);
} else { } else {
wow_pulse_set_info.wow_pulse_enable = false; wow_pulse_set_info.wow_pulse_enable = false;
wow_pulse_set_info.wow_pulse_pin = 0; wow_pulse_set_info.wow_pulse_pin = 0;
@@ -9236,10 +9214,6 @@ static struct hdd_context *hdd_context_create(struct device *dev)
hdd_ctx->config->timer_multiplier); hdd_ctx->config->timer_multiplier);
qdf_timer_set_multiplier(hdd_ctx->config->timer_multiplier); qdf_timer_set_multiplier(hdd_ctx->config->timer_multiplier);
if (hdd_ctx->config->fhostNSOffload)
hdd_ctx->ns_offload_enable = true;
cds_set_fatal_event(hdd_ctx->config->enable_fatal_event); cds_set_fatal_event(hdd_ctx->config->enable_fatal_event);
hdd_override_ini_config(hdd_ctx); hdd_override_ini_config(hdd_ctx);
@@ -9633,27 +9607,7 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
} }
cds_cfg->driver_type = QDF_DRIVER_TYPE_PRODUCTION; cds_cfg->driver_type = QDF_DRIVER_TYPE_PRODUCTION;
if (!hdd_ctx->config->nMaxPsPoll ||
!hdd_ctx->config->enablePowersaveOffload) {
cds_cfg->powersave_offload_enabled =
hdd_ctx->config->enablePowersaveOffload;
} else {
if ((hdd_ctx->config->enablePowersaveOffload ==
PS_QPOWER_NODEEPSLEEP) ||
(hdd_ctx->config->enablePowersaveOffload ==
PS_LEGACY_NODEEPSLEEP))
cds_cfg->powersave_offload_enabled =
PS_LEGACY_NODEEPSLEEP;
else
cds_cfg->powersave_offload_enabled =
PS_LEGACY_DEEPSLEEP;
hdd_info("Qpower disabled in cds config, %d",
cds_cfg->powersave_offload_enabled);
}
cds_cfg->sta_dynamic_dtim = hdd_ctx->config->enableDynamicDTIM;
cds_cfg->sta_mod_dtim = hdd_ctx->config->enableModulatedDTIM;
cds_cfg->sta_maxlimod_dtim = hdd_ctx->config->fMaxLIModulatedDTIM; cds_cfg->sta_maxlimod_dtim = hdd_ctx->config->fMaxLIModulatedDTIM;
cds_cfg->wow_enable = hdd_ctx->config->wowEnable;
/* /*
* Copy the DFS Phyerr Filtering Offload status. * Copy the DFS Phyerr Filtering Offload status.
@@ -9662,14 +9616,10 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
*/ */
cds_cfg->dfs_phyerr_filter_offload = cds_cfg->dfs_phyerr_filter_offload =
hdd_ctx->config->fDfsPhyerrFilterOffload; hdd_ctx->config->fDfsPhyerrFilterOffload;
if (hdd_ctx->config->ssdp)
cds_cfg->ssdp = hdd_ctx->config->ssdp;
cds_cfg->force_target_assert_enabled = cds_cfg->force_target_assert_enabled =
hdd_ctx->config->crash_inject_enabled; hdd_ctx->config->crash_inject_enabled;
cds_cfg->enable_mc_list = hdd_ctx->config->fEnableMCAddrList;
ucfg_mlme_get_sap_max_offload_peers(hdd_ctx->psoc, &value); ucfg_mlme_get_sap_max_offload_peers(hdd_ctx->psoc, &value);
cds_cfg->ap_maxoffload_peers = value; cds_cfg->ap_maxoffload_peers = value;
ucfg_mlme_get_sap_max_offload_reorder_buffs(hdd_ctx->psoc, ucfg_mlme_get_sap_max_offload_reorder_buffs(hdd_ctx->psoc,
@@ -9727,8 +9677,6 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
cds_cfg->enable_rxthread = hdd_ctx->enable_rxthread; cds_cfg->enable_rxthread = hdd_ctx->enable_rxthread;
cds_cfg->ce_classify_enabled = cds_cfg->ce_classify_enabled =
hdd_ctx->config->ce_classify_enabled; hdd_ctx->config->ce_classify_enabled;
cds_cfg->apf_packet_filter_enable =
hdd_ctx->config->apf_packet_filter_enable;
cds_cfg->self_gen_frm_pwr = hdd_ctx->config->self_gen_frm_pwr; cds_cfg->self_gen_frm_pwr = hdd_ctx->config->self_gen_frm_pwr;
ucfg_mlme_get_sap_max_peers(hdd_ctx->psoc, &value); ucfg_mlme_get_sap_max_peers(hdd_ctx->psoc, &value);
cds_cfg->max_station = value; cds_cfg->max_station = value;
@@ -9740,8 +9688,6 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
cds_cfg->fw_timeout_crash = hdd_ctx->config->fw_timeout_crash; cds_cfg->fw_timeout_crash = hdd_ctx->config->fw_timeout_crash;
cds_cfg->active_uc_apf_mode = hdd_ctx->config->active_uc_apf_mode; cds_cfg->active_uc_apf_mode = hdd_ctx->config->active_uc_apf_mode;
cds_cfg->active_mc_bc_apf_mode = hdd_ctx->config->active_mc_bc_apf_mode; cds_cfg->active_mc_bc_apf_mode = hdd_ctx->config->active_mc_bc_apf_mode;
cds_cfg->auto_power_save_fail_mode =
hdd_ctx->config->auto_pwr_save_fail_mode;
cds_cfg->ito_repeat_count = hdd_ctx->config->ito_repeat_count; cds_cfg->ito_repeat_count = hdd_ctx->config->ito_repeat_count;
cds_cfg->bandcapability = hdd_ctx->config->nBandCapability; cds_cfg->bandcapability = hdd_ctx->config->nBandCapability;
@@ -10879,6 +10825,7 @@ int hdd_configure_cds(struct hdd_context *hdd_ctx)
uint16_t num_11ag_tx_chains = 0; uint16_t num_11ag_tx_chains = 0;
struct policy_mgr_dp_cbacks dp_cbs = {0}; struct policy_mgr_dp_cbacks dp_cbs = {0};
bool value; bool value;
enum pmo_auto_pwr_detect_failure_mode auto_power_fail_mode;
mac_handle = hdd_ctx->mac_handle; mac_handle = hdd_ctx->mac_handle;
@@ -11008,8 +10955,11 @@ int hdd_configure_cds(struct hdd_context *hdd_ctx)
sme_cli_set_command(0, WMI_PDEV_PARAM_GCMP_SUPPORT_ENABLE, sme_cli_set_command(0, WMI_PDEV_PARAM_GCMP_SUPPORT_ENABLE,
hdd_ctx->config->gcmp_enabled, PDEV_CMD); hdd_ctx->config->gcmp_enabled, PDEV_CMD);
auto_power_fail_mode =
ucfg_pmo_get_auto_power_fail_mode(hdd_ctx->psoc);
sme_cli_set_command(0, WMI_PDEV_AUTO_DETECT_POWER_FAILURE, sme_cli_set_command(0, WMI_PDEV_AUTO_DETECT_POWER_FAILURE,
hdd_ctx->config->auto_pwr_save_fail_mode, PDEV_CMD); auto_power_fail_mode, PDEV_CMD);
if (hdd_ctx->config->enable_phy_reg_retention) if (hdd_ctx->config->enable_phy_reg_retention)
@@ -12785,17 +12735,24 @@ QDF_STATUS hdd_component_psoc_open(struct wlan_objmgr_psoc *psoc)
status = ucfg_fwol_psoc_open(psoc); status = ucfg_fwol_psoc_open(psoc);
if (QDF_IS_STATUS_ERROR(status)) if (QDF_IS_STATUS_ERROR(status))
goto err; goto err_fwol;
status = ucfg_pmo_psoc_open(psoc);
if (QDF_IS_STATUS_ERROR(status))
goto err_pmo;
return status; return status;
err: err_pmo:
ucfg_fwol_psoc_close(psoc);
err_fwol:
ucfg_mlme_psoc_close(psoc); ucfg_mlme_psoc_close(psoc);
return status; return status;
} }
void hdd_component_psoc_close(struct wlan_objmgr_psoc *psoc) void hdd_component_psoc_close(struct wlan_objmgr_psoc *psoc)
{ {
ucfg_pmo_psoc_close(psoc);
ucfg_fwol_psoc_close(psoc); ucfg_fwol_psoc_close(psoc);
ucfg_mlme_psoc_close(psoc); ucfg_mlme_psoc_close(psoc);
} }
@@ -13675,7 +13632,8 @@ static void hdd_populate_runtime_cfg(struct hdd_context *hdd_ctx,
struct hif_config_info *cfg) struct hif_config_info *cfg)
{ {
cfg->enable_runtime_pm = hdd_ctx->config->runtime_pm; cfg->enable_runtime_pm = hdd_ctx->config->runtime_pm;
cfg->runtime_pm_delay = hdd_ctx->config->runtime_pm_delay; cfg->runtime_pm_delay =
ucfg_pmo_get_runtime_pm_delay(hdd_ctx->psoc);
} }
#else #else
static void hdd_populate_runtime_cfg(struct hdd_context *hdd_ctx, static void hdd_populate_runtime_cfg(struct hdd_context *hdd_ctx,
@@ -13753,6 +13711,9 @@ int hdd_update_config(struct hdd_context *hdd_ctx)
{ {
int ret; int ret;
if (ucfg_pmo_is_ns_offloaded(hdd_ctx->psoc))
hdd_ctx->ns_offload_enable = true;
hdd_update_ol_config(hdd_ctx); hdd_update_ol_config(hdd_ctx);
hdd_update_hif_config(hdd_ctx); hdd_update_hif_config(hdd_ctx);
if (QDF_GLOBAL_FTM_MODE == hdd_get_conparam()) if (QDF_GLOBAL_FTM_MODE == hdd_get_conparam())
@@ -13799,6 +13760,9 @@ static int hdd_update_pmo_config(struct hdd_context *hdd_ctx)
{ {
struct pmo_psoc_cfg psoc_cfg; struct pmo_psoc_cfg psoc_cfg;
QDF_STATUS status; QDF_STATUS status;
enum pmo_wow_enable_type wow_enable;
ucfg_pmo_get_psoc_config(hdd_ctx->psoc, &psoc_cfg);
/* /*
* Value of hdd_ctx->wowEnable can be, * Value of hdd_ctx->wowEnable can be,
@@ -13808,27 +13772,14 @@ static int hdd_update_pmo_config(struct hdd_context *hdd_ctx)
* 3 - Enable both magic patter and pattern byte match on * 3 - Enable both magic patter and pattern byte match on
* all interfaces. * all interfaces.
*/ */
psoc_cfg.magic_ptrn_enable = wow_enable = ucfg_pmo_get_wow_enable(hdd_ctx->psoc);
(hdd_ctx->config->wowEnable & 0x01) ? true : false; psoc_cfg.magic_ptrn_enable = (wow_enable & 0x01) ? true : false;
psoc_cfg.ptrn_match_enable_all_vdev = psoc_cfg.ptrn_match_enable_all_vdev =
(hdd_ctx->config->wowEnable & 0x02) ? true : false; (wow_enable & 0x02) ? true : false;
psoc_cfg.apf_enable = hdd_ctx->config->apf_packet_filter_enable;
psoc_cfg.arp_offload_enable = hdd_ctx->config->fhostArpOffload;
psoc_cfg.hw_filter_mode_bitmap = hdd_ctx->config->hw_filter_mode_bitmap;
psoc_cfg.ns_offload_enable_dynamic = hdd_ctx->config->fhostNSOffload;
psoc_cfg.ns_offload_enable_static = hdd_ctx->config->fhostNSOffload;
psoc_cfg.packet_filter_enabled = !hdd_ctx->config->disablePacketFilter; psoc_cfg.packet_filter_enabled = !hdd_ctx->config->disablePacketFilter;
psoc_cfg.ssdp = hdd_ctx->config->ssdp;
psoc_cfg.enable_mc_list = hdd_ctx->config->fEnableMCAddrList;
psoc_cfg.active_mode_offload = hdd_ctx->config->active_mode_offload;
psoc_cfg.ap_arpns_support = hdd_ctx->ap_arpns_support; psoc_cfg.ap_arpns_support = hdd_ctx->ap_arpns_support;
psoc_cfg.d0_wow_supported = wma_d0_wow_is_supported(); psoc_cfg.d0_wow_supported = wma_d0_wow_is_supported();
psoc_cfg.sta_dynamic_dtim = hdd_ctx->config->enableDynamicDTIM;
psoc_cfg.sta_mod_dtim = hdd_ctx->config->enableModulatedDTIM;
psoc_cfg.sta_max_li_mod_dtim = hdd_ctx->config->fMaxLIModulatedDTIM; psoc_cfg.sta_max_li_mod_dtim = hdd_ctx->config->fMaxLIModulatedDTIM;
psoc_cfg.power_save_mode = hdd_ctx->config->enablePowersaveOffload;
psoc_cfg.auto_power_save_fail_mode =
hdd_ctx->config->auto_pwr_save_fail_mode;
hdd_ra_populate_pmo_config(&psoc_cfg, hdd_ctx); hdd_ra_populate_pmo_config(&psoc_cfg, hdd_ctx);
hdd_lpass_populate_pmo_config(&psoc_cfg, hdd_ctx); hdd_lpass_populate_pmo_config(&psoc_cfg, hdd_ctx);

Vedi File

@@ -42,7 +42,7 @@ int hdd_enable_default_pkt_filters(struct hdd_adapter *adapter)
return 0; return 0;
} }
filters = hdd_ctx->config->packet_filters_bitmap; filters = ucfg_pmo_get_pkt_filter_bitmap(hdd_ctx->psoc);
while (filters != 0) { while (filters != 0) {
if (filters & 0x1) { if (filters & 0x1) {
@@ -79,7 +79,7 @@ int hdd_disable_default_pkt_filters(struct hdd_adapter *adapter)
return 0; return 0;
} }
filters = hdd_ctx->config->packet_filters_bitmap; filters = ucfg_pmo_get_pkt_filter_bitmap(hdd_ctx->psoc);
while (filters != 0) { while (filters != 0) {
if (filters & 0x1) { if (filters & 0x1) {

Vedi File

@@ -802,9 +802,8 @@ static int __wlan_hdd_ipv4_changed(struct notifier_block *nb,
hdd_debug("invoking sme_dhcp_done_ind"); hdd_debug("invoking sme_dhcp_done_ind");
sme_dhcp_done_ind(hdd_ctx->mac_handle, adapter->session_id); sme_dhcp_done_ind(hdd_ctx->mac_handle, adapter->session_id);
if (!hdd_ctx->config->fhostArpOffload) { if (!ucfg_pmo_is_arp_offload_enabled(hdd_ctx->psoc)) {
hdd_debug("Offload not enabled ARPOffload=%d", hdd_debug("Offload not enabled");
hdd_ctx->config->fhostArpOffload);
goto exit; goto exit;
} }
@@ -2131,7 +2130,7 @@ int hdd_set_qpower_config(struct hdd_context *hddctx,
{ {
QDF_STATUS status; QDF_STATUS status;
if (!hddctx->config->enablePowersaveOffload) { if (!ucfg_pmo_get_power_save_mode(hddctx->psoc)) {
hdd_err("qpower is disabled in configuration"); hdd_err("qpower is disabled in configuration");
return -EINVAL; return -EINVAL;
} }
@@ -2148,7 +2147,7 @@ int hdd_set_qpower_config(struct hdd_context *hddctx,
return -EINVAL; return -EINVAL;
} }
if (hddctx->config->nMaxPsPoll) { if (ucfg_pmo_get_max_ps_poll(hddctx->psoc)) {
if ((qpower == PS_QPOWER_NODEEPSLEEP) || if ((qpower == PS_QPOWER_NODEEPSLEEP) ||
(qpower == PS_LEGACY_NODEEPSLEEP)) (qpower == PS_LEGACY_NODEEPSLEEP))
qpower = PS_LEGACY_NODEEPSLEEP; qpower = PS_LEGACY_NODEEPSLEEP;

Vedi File

@@ -104,6 +104,8 @@
#include "wlan_mlme_public_struct.h" #include "wlan_mlme_public_struct.h"
#include "cfg_ucfg_api.h" #include "cfg_ucfg_api.h"
#include "cfg_mlme_threshold.h" #include "cfg_mlme_threshold.h"
#include "wlan_pmo_cfg.h"
#include "wlan_pmo_ucfg_api.h"
#define HDD_FINISH_ULA_TIME_OUT 800 #define HDD_FINISH_ULA_TIME_OUT 800
#define HDD_SET_MCBC_FILTERS_TO_FW 1 #define HDD_SET_MCBC_FILTERS_TO_FW 1
@@ -5198,14 +5200,14 @@ static int __iw_setint_getnone(struct net_device *dev,
ret = hdd_handle_pdev_reset(adapter, set_value); ret = hdd_handle_pdev_reset(adapter, set_value);
break; break;
case WE_SET_MODULATED_DTIM: case WE_SET_MODULATED_DTIM:
if ((set_value < CFG_ENABLE_MODULATED_DTIM_MIN) || if ((set_value < cfg_max(CFG_PMO_ENABLE_MODULATED_DTIM)) ||
(set_value > CFG_ENABLE_MODULATED_DTIM_MAX)) { (set_value > cfg_max(CFG_PMO_ENABLE_MODULATED_DTIM))) {
hdd_err("Invalid gEnableModuleDTIM value %d", hdd_err("Invalid gEnableModuleDTIM value %d",
set_value); set_value);
return -EINVAL; return -EINVAL;
} }
hdd_ctx->config->enableModulatedDTIM = set_value; ucfg_pmo_set_sta_mod_dtim(hdd_ctx->psoc, set_value);
break; break;
default: default:
hdd_debug("Invalid sub command %d", sub_cmd); hdd_debug("Invalid sub command %d", sub_cmd);

Vedi File

@@ -5654,23 +5654,6 @@ enum powersave_qpower_mode {
QPOWER_DUTY_CYCLING = 2 QPOWER_DUTY_CYCLING = 2
}; };
/**
* enum powersave_qpower_mode: powersave_mode
* @PS_NOT_SUPPORTED: Power save is not supported
* @PS_LEGACY_NODEEPSLEEP: Legacy power save enabled and deep sleep disabled
* @PS_QPOWER_NODEEPSLEEP: QPOWER enabled and deep sleep disabled
* @PS_LEGACY_DEEPSLEEP: Legacy power save enabled and deep sleep enabled
* @PS_QPOWER_DEEPSLEEP: QPOWER enabled and deep sleep enabled
* @PS_DUTY_CYCLING_QPOWER: QPOWER enabled in duty cycling mode
*/
enum powersave_mode {
PS_NOT_SUPPORTED = 0,
PS_LEGACY_NODEEPSLEEP = 1,
PS_QPOWER_NODEEPSLEEP = 2,
PS_LEGACY_DEEPSLEEP = 3,
PS_QPOWER_DEEPSLEEP = 4,
PS_DUTY_CYCLING_QPOWER = 5
};
#ifdef FEATURE_LFR_SUBNET_DETECTION #ifdef FEATURE_LFR_SUBNET_DETECTION
/** /**
* struct gateway_param_update_req - gateway parameter update request * struct gateway_param_update_req - gateway parameter update request

Vedi File

@@ -111,14 +111,9 @@ enum {
WNI_CFG_VHT_160MHZ_UTILIZATION, WNI_CFG_VHT_160MHZ_UTILIZATION,
WNI_CFG_MPDU_DENSITY, WNI_CFG_MPDU_DENSITY,
WNI_CFG_MAX_RX_AMPDU_FACTOR, WNI_CFG_MAX_RX_AMPDU_FACTOR,
WNI_CFG_MAX_PS_POLL,
WNI_CFG_SCAN_IN_POWERSAVE, WNI_CFG_SCAN_IN_POWERSAVE,
WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE, WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE,
WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE, WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE,
WNI_CFG_WOWLAN_DEAUTH_ENABLE,
WNI_CFG_WOWLAN_DISASSOC_ENABLE,
WNI_CFG_WOWLAN_MAX_MISSED_BEACON,
WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD,
WNI_CFG_IBSS_AUTO_BSSID, WNI_CFG_IBSS_AUTO_BSSID,
WNI_CFG_WPS_ENABLE, WNI_CFG_WPS_ENABLE,
WNI_CFG_WPS_STATE, WNI_CFG_WPS_STATE,
@@ -134,7 +129,6 @@ enum {
WNI_CFG_ASSOC_STA_LIMIT, WNI_CFG_ASSOC_STA_LIMIT,
WNI_CFG_ENABLE_LTE_COEX, WNI_CFG_ENABLE_LTE_COEX,
WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT,
WNI_CFG_ENABLE_MC_ADDR_LIST,
WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP,
WNI_CFG_AP_LINK_MONITOR_TIMEOUT, WNI_CFG_AP_LINK_MONITOR_TIMEOUT,
@@ -871,10 +865,6 @@ enum {
#define WNI_CFG_SHORT_GI_40MHZ_ENABLE 1 #define WNI_CFG_SHORT_GI_40MHZ_ENABLE 1
#define WNI_CFG_SHORT_GI_40MHZ_DISABLE 0 #define WNI_CFG_SHORT_GI_40MHZ_DISABLE 0
#define WNI_CFG_MAX_PS_POLL_STAMIN 0
#define WNI_CFG_MAX_PS_POLL_STAMAX 255
#define WNI_CFG_MAX_PS_POLL_STADEF 0
#define WNI_CFG_SCAN_IN_POWERSAVE_STAMIN 0 #define WNI_CFG_SCAN_IN_POWERSAVE_STAMIN 0
#define WNI_CFG_SCAN_IN_POWERSAVE_STAMAX 1 #define WNI_CFG_SCAN_IN_POWERSAVE_STAMAX 1
#define WNI_CFG_SCAN_IN_POWERSAVE_STADEF 1 #define WNI_CFG_SCAN_IN_POWERSAVE_STADEF 1
@@ -895,14 +885,6 @@ enum {
#define WNI_CFG_WOWLAN_DISASSOC_ENABLE_STAMAX 1 #define WNI_CFG_WOWLAN_DISASSOC_ENABLE_STAMAX 1
#define WNI_CFG_WOWLAN_DISASSOC_ENABLE_STADEF 1 #define WNI_CFG_WOWLAN_DISASSOC_ENABLE_STADEF 1
#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STAMIN 0
#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STAMAX 65535
#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STADEF 40
#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STAMIN 0
#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STAMAX 65535
#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STADEF 65535
#define WNI_CFG_IBSS_AUTO_BSSID_STAMIN 0 #define WNI_CFG_IBSS_AUTO_BSSID_STAMIN 0
#define WNI_CFG_IBSS_AUTO_BSSID_STAMAX 1 #define WNI_CFG_IBSS_AUTO_BSSID_STAMAX 1
#define WNI_CFG_IBSS_AUTO_BSSID_STADEF 1 #define WNI_CFG_IBSS_AUTO_BSSID_STADEF 1
@@ -962,10 +944,6 @@ enum {
#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMAX 65535 #define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMAX 65535
#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STADEF 20 #define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STADEF 20
#define WNI_CFG_ENABLE_MC_ADDR_LIST_STAMIN 0
#define WNI_CFG_ENABLE_MC_ADDR_LIST_STAMAX 1
#define WNI_CFG_ENABLE_MC_ADDR_LIST_STADEF 0
#define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMIN 0 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMIN 0
#define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMAX 1 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMAX 1
#define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STADEF 0 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STADEF 0

Vedi File

@@ -2638,20 +2638,6 @@ NONE
#ENUM ENABLE 1 #ENUM ENABLE 1
#ENUM DISABLE 0 #ENUM DISABLE 0
* *********************************************************
*
* Power Save Configuration
*
WNI_CFG_MAX_PS_POLL I 4 5
V RW NP
LIM
0 255 0
NV RW NP
LIM
0 255 0
WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE I 4 5 WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE I 4 5
V RW NP V RW NP
LIM LIM
@@ -2736,28 +2722,6 @@ NONE
0 1 0 0 1 0
WNI_CFG_WOWLAN_MAX_MISSED_BEACON I 4 5
V RW NP
NONE
0 65535 40
NV RW NP
NONE
0 65535 40
*
* Timeout value in units of us. It requests
* hardware to unconditionally wake up after
* it has stayed in WoWLAN mode for some time.
*
WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD I 4 5
V RW NP
NONE
0 65535 65535
NV RW NP
NONE
0 65535 65535
* *
* BA timeout in TUs, set to 1 minute = approx 58593 TUs * BA timeout in TUs, set to 1 minute = approx 58593 TUs
* 16 bit wide * 16 bit wide
@@ -3642,19 +3606,6 @@ V RW NP
HAL HAL
1 65535 20 1 65535 20
*
* MC Addr List power control will be enabled if value is set to 1
*
*
*
WNI_CFG_ENABLE_MC_ADDR_LIST I 4 0
V RW NP
HAL
0 1 0
V RW NP
HAL
0 1 0
* *
* UC Filter will be enabled if value is set to 1 * UC Filter will be enabled if value is set to 1
* *

Vedi File

@@ -126,13 +126,8 @@ const char *cfg_get_string(uint16_t cfg_id)
CASE_RETURN_STRING(WNI_CFG_VHT_160MHZ_UTILIZATION); CASE_RETURN_STRING(WNI_CFG_VHT_160MHZ_UTILIZATION);
CASE_RETURN_STRING(WNI_CFG_MPDU_DENSITY); CASE_RETURN_STRING(WNI_CFG_MPDU_DENSITY);
CASE_RETURN_STRING(WNI_CFG_MAX_RX_AMPDU_FACTOR); CASE_RETURN_STRING(WNI_CFG_MAX_RX_AMPDU_FACTOR);
CASE_RETURN_STRING(WNI_CFG_MAX_PS_POLL);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE); CASE_RETURN_STRING(WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE); CASE_RETURN_STRING(WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_DEAUTH_ENABLE);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_DISASSOC_ENABLE);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_MAX_MISSED_BEACON);
CASE_RETURN_STRING(WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD);
CASE_RETURN_STRING(WNI_CFG_IBSS_AUTO_BSSID); CASE_RETURN_STRING(WNI_CFG_IBSS_AUTO_BSSID);
CASE_RETURN_STRING(WNI_CFG_WPS_ENABLE); CASE_RETURN_STRING(WNI_CFG_WPS_ENABLE);
CASE_RETURN_STRING(WNI_CFG_WPS_STATE); CASE_RETURN_STRING(WNI_CFG_WPS_STATE);
@@ -148,7 +143,6 @@ const char *cfg_get_string(uint16_t cfg_id)
CASE_RETURN_STRING(WNI_CFG_ASSOC_STA_LIMIT); CASE_RETURN_STRING(WNI_CFG_ASSOC_STA_LIMIT);
CASE_RETURN_STRING(WNI_CFG_ENABLE_LTE_COEX); CASE_RETURN_STRING(WNI_CFG_ENABLE_LTE_COEX);
CASE_RETURN_STRING(WNI_CFG_AP_KEEP_ALIVE_TIMEOUT); CASE_RETURN_STRING(WNI_CFG_AP_KEEP_ALIVE_TIMEOUT);
CASE_RETURN_STRING(WNI_CFG_ENABLE_MC_ADDR_LIST);
CASE_RETURN_STRING(WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED); CASE_RETURN_STRING(WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED);
CASE_RETURN_STRING(WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP); CASE_RETURN_STRING(WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP);
CASE_RETURN_STRING(WNI_CFG_AP_LINK_MONITOR_TIMEOUT); CASE_RETURN_STRING(WNI_CFG_AP_LINK_MONITOR_TIMEOUT);

Vedi File

@@ -493,12 +493,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN, WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN,
WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX, WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX,
WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX}, WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX},
{WNI_CFG_MAX_PS_POLL,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_NTF_LIM,
WNI_CFG_MAX_PS_POLL_STAMIN,
WNI_CFG_MAX_PS_POLL_STAMAX,
WNI_CFG_MAX_PS_POLL_STADEF},
{WNI_CFG_SCAN_IN_POWERSAVE, {WNI_CFG_SCAN_IN_POWERSAVE,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT |
CFG_CTL_NTF_LIM, CFG_CTL_NTF_LIM,
@@ -515,26 +509,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STAMIN, WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STAMIN,
WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STAMAX, WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STAMAX,
WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STADEF}, WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE_STADEF},
{WNI_CFG_WOWLAN_DEAUTH_ENABLE,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_WOWLAN_DEAUTH_ENABLE_STAMIN,
WNI_CFG_WOWLAN_DEAUTH_ENABLE_STAMAX,
WNI_CFG_WOWLAN_DEAUTH_ENABLE_STADEF},
{WNI_CFG_WOWLAN_DISASSOC_ENABLE,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_WOWLAN_DISASSOC_ENABLE_STAMIN,
WNI_CFG_WOWLAN_DISASSOC_ENABLE_STAMAX,
WNI_CFG_WOWLAN_DISASSOC_ENABLE_STADEF},
{WNI_CFG_WOWLAN_MAX_MISSED_BEACON,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STAMIN,
WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STAMAX,
WNI_CFG_WOWLAN_MAX_MISSED_BEACON_STADEF},
{WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STAMIN,
WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STAMAX,
WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD_STADEF},
{WNI_CFG_IBSS_AUTO_BSSID, {WNI_CFG_IBSS_AUTO_BSSID,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_IBSS_AUTO_BSSID_STAMIN, WNI_CFG_IBSS_AUTO_BSSID_STAMIN,
@@ -617,11 +591,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMIN, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMIN,
WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMAX, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMAX,
WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STADEF}, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STADEF},
{WNI_CFG_ENABLE_MC_ADDR_LIST,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_ENABLE_MC_ADDR_LIST_STAMIN,
WNI_CFG_ENABLE_MC_ADDR_LIST_STAMAX,
WNI_CFG_ENABLE_MC_ADDR_LIST_STADEF},
{WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, {WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMIN, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMIN,

Vedi File

@@ -693,7 +693,6 @@ struct wma_version_info {
* @wow_enable_cmd_sent: is wow enable command sent to fw * @wow_enable_cmd_sent: is wow enable command sent to fw
* @deauth_enable: is deauth wakeup enable/disable * @deauth_enable: is deauth wakeup enable/disable
* @disassoc_enable: is disassoc wakeup enable/disable * @disassoc_enable: is disassoc wakeup enable/disable
* @bmiss_enable: is bmiss wakeup enable/disable
* @gtk_pdev_enable: is GTK based wakeup enable/disable * @gtk_pdev_enable: is GTK based wakeup enable/disable
* @gtk_err_enable: is GTK error wakeup enable/disable * @gtk_err_enable: is GTK error wakeup enable/disable
* @lphb_cache: lphb cache * @lphb_cache: lphb cache
@@ -707,7 +706,6 @@ struct wma_wow {
bool wow_enable_cmd_sent; bool wow_enable_cmd_sent;
bool deauth_enable; bool deauth_enable;
bool disassoc_enable; bool disassoc_enable;
bool bmiss_enable;
bool gtk_err_enable[WMA_MAX_SUPPORTED_BSS]; bool gtk_err_enable[WMA_MAX_SUPPORTED_BSS];
}; };
@@ -1110,8 +1108,6 @@ struct wma_valid_channels {
* @pe_roam_synch_cb: pe callback for firmware Roam Sync events * @pe_roam_synch_cb: pe callback for firmware Roam Sync events
* @wmi_cmd_rsp_wake_lock: wmi command response wake lock * @wmi_cmd_rsp_wake_lock: wmi command response wake lock
* @wmi_cmd_rsp_runtime_lock: wmi command response bus lock * @wmi_cmd_rsp_runtime_lock: wmi command response bus lock
* @apf_enabled: Is APF enabled in firmware?
* @apf_packet_filter_enable: Is APF filter enabled om host?
* @active_uc_apf_mode: Setting that determines how APF is applied in * @active_uc_apf_mode: Setting that determines how APF is applied in
* active mode for uc packets * active mode for uc packets
* @active_mc_bc_apf_mode: Setting that determines how APF is applied in * @active_mc_bc_apf_mode: Setting that determines how APF is applied in
@@ -1261,8 +1257,6 @@ typedef struct {
enum sir_roam_op_code reason); enum sir_roam_op_code reason);
qdf_wake_lock_t wmi_cmd_rsp_wake_lock; qdf_wake_lock_t wmi_cmd_rsp_wake_lock;
qdf_runtime_lock_t wmi_cmd_rsp_runtime_lock; qdf_runtime_lock_t wmi_cmd_rsp_runtime_lock;
bool apf_enabled;
bool apf_packet_filter_enable;
enum active_apf_mode active_uc_apf_mode; enum active_apf_mode active_uc_apf_mode;
enum active_apf_mode active_mc_bc_apf_mode; enum active_apf_mode active_mc_bc_apf_mode;
struct wma_ini_config ini_config; struct wma_ini_config ini_config;

Vedi File

@@ -198,7 +198,6 @@ struct wma_tgt_cfg {
#endif #endif
uint8_t ap_arpns_support; uint8_t ap_arpns_support;
uint32_t fine_time_measurement_cap; uint32_t fine_time_measurement_cap;
bool apf_enabled;
#ifdef FEATURE_WLAN_RA_FILTERING #ifdef FEATURE_WLAN_RA_FILTERING
bool is_ra_rate_limit_enabled; bool is_ra_rate_limit_enabled;
#endif #endif

Vedi File

@@ -2419,23 +2419,11 @@ struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle,
wma_handle->interfaces[vdev_id].ptrn_match_enable = wma_handle->interfaces[vdev_id].ptrn_match_enable =
wma_handle->ptrn_match_enable_all_vdev ? true : false; wma_handle->ptrn_match_enable_all_vdev ? true : false;
if (wlan_cfg_get_int(mac, WNI_CFG_WOWLAN_DEAUTH_ENABLE, &cfg_val) wma_handle->wow.deauth_enable =
!= QDF_STATUS_SUCCESS) ucfg_pmo_is_wowlan_deauth_enabled(wma_handle->psoc);
wma_handle->wow.deauth_enable = true;
else
wma_handle->wow.deauth_enable = cfg_val ? true : false;
if (wlan_cfg_get_int(mac, WNI_CFG_WOWLAN_DISASSOC_ENABLE, &cfg_val) wma_handle->wow.disassoc_enable =
!= QDF_STATUS_SUCCESS) ucfg_pmo_is_wowlan_disassoc_enabled(wma_handle->psoc);
wma_handle->wow.disassoc_enable = true;
else
wma_handle->wow.disassoc_enable = cfg_val ? true : false;
if (wlan_cfg_get_int(mac, WNI_CFG_WOWLAN_MAX_MISSED_BEACON, &cfg_val)
!= QDF_STATUS_SUCCESS)
wma_handle->wow.bmiss_enable = true;
else
wma_handle->wow.bmiss_enable = cfg_val ? true : false;
qdf_mem_copy(wma_handle->interfaces[vdev_id].addr, qdf_mem_copy(wma_handle->interfaces[vdev_id].addr,
self_sta_req->self_mac_addr, self_sta_req->self_mac_addr,

Vedi File

@@ -3138,6 +3138,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
bool val = 0; bool val = 0;
void *cds_context; void *cds_context;
target_resource_config *wlan_res_cfg; target_resource_config *wlan_res_cfg;
enum pmo_wow_enable_type wow_enable;
WMA_LOGD("%s: Enter", __func__); WMA_LOGD("%s: Enter", __func__);
@@ -3292,10 +3293,9 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
wma_handle->max_station = cds_cfg->max_station; wma_handle->max_station = cds_cfg->max_station;
wma_handle->max_bssid = cds_cfg->max_bssid; wma_handle->max_bssid = cds_cfg->max_bssid;
wma_handle->ssdp = cds_cfg->ssdp; wma_handle->ssdp = ucfg_pmo_is_ssdp_enabled(wma_handle->psoc);
wma_handle->enable_mc_list = cds_cfg->enable_mc_list; wma_handle->enable_mc_list =
wma_handle->apf_packet_filter_enable = ucfg_pmo_is_mc_addr_list_enabled(wma_handle->psoc);
cds_cfg->apf_packet_filter_enable;
wma_handle->active_uc_apf_mode = cds_cfg->active_uc_apf_mode; wma_handle->active_uc_apf_mode = cds_cfg->active_uc_apf_mode;
wma_handle->active_mc_bc_apf_mode = cds_cfg->active_mc_bc_apf_mode; wma_handle->active_mc_bc_apf_mode = cds_cfg->active_mc_bc_apf_mode;
wma_handle->link_stats_results = NULL; wma_handle->link_stats_results = NULL;
@@ -3506,10 +3506,12 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
* 3 - Legacy Powersave + Deepsleep Enabled * 3 - Legacy Powersave + Deepsleep Enabled
* 4 - QPower + Deepsleep Enabled * 4 - QPower + Deepsleep Enabled
*/ */
wma_handle->powersave_mode = cds_cfg->powersave_offload_enabled; wma_handle->powersave_mode =
ucfg_pmo_power_save_offload_enabled(wma_handle->psoc);
wma_handle->staMaxLIModDtim = cds_cfg->sta_maxlimod_dtim; wma_handle->staMaxLIModDtim = cds_cfg->sta_maxlimod_dtim;
wma_handle->staModDtim = cds_cfg->sta_mod_dtim; wma_handle->staModDtim = ucfg_pmo_get_sta_mod_dtim(wma_handle->psoc);
wma_handle->staDynamicDtim = cds_cfg->sta_dynamic_dtim; wma_handle->staDynamicDtim =
ucfg_pmo_get_sta_dynamic_dtim(wma_handle->psoc);
/* /*
* Value of cds_cfg->wow_enable can be, * Value of cds_cfg->wow_enable can be,
@@ -3519,10 +3521,11 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
* 3 - Enable both magic patter and pattern byte match on * 3 - Enable both magic patter and pattern byte match on
* all interfaces. * all interfaces.
*/ */
wow_enable = ucfg_pmo_get_wow_enable(wma_handle->psoc);
wma_handle->wow.magic_ptrn_enable = wma_handle->wow.magic_ptrn_enable =
(cds_cfg->wow_enable & 0x01) ? true : false; (wow_enable & 0x01) ? true : false;
wma_handle->ptrn_match_enable_all_vdev = wma_handle->ptrn_match_enable_all_vdev =
(cds_cfg->wow_enable & 0x02) ? true : false; (wow_enable & 0x02) ? true : false;
/* register for install key completion event */ /* register for install key completion event */
wmi_unified_register_event_handler(wma_handle->wmi_handle, wmi_unified_register_event_handler(wma_handle->wmi_handle,
@@ -3599,7 +3602,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
wma_handle->bandcapability = cds_cfg->bandcapability; wma_handle->bandcapability = cds_cfg->bandcapability;
/* Register PWR_SAVE_FAIL event only in case of recovery(1) */ /* Register PWR_SAVE_FAIL event only in case of recovery(1) */
if (cds_cfg->auto_power_save_fail_mode == if (ucfg_pmo_get_auto_power_fail_mode(wma_handle->psoc) ==
PMO_FW_TO_SEND_WOW_IND_ON_PWR_FAILURE) { PMO_FW_TO_SEND_WOW_IND_ON_PWR_FAILURE) {
wmi_unified_register_event_handler(wma_handle->wmi_handle, wmi_unified_register_event_handler(wma_handle->wmi_handle,
wmi_pdev_chip_pwr_save_failure_detect_event_id, wmi_pdev_chip_pwr_save_failure_detect_event_id,
@@ -5557,7 +5560,6 @@ static void wma_update_hdd_cfg(tp_wma_handle wma_handle)
tgt_cfg.lpss_support = wma_handle->lpss_support; tgt_cfg.lpss_support = wma_handle->lpss_support;
#endif /* WLAN_FEATURE_LPSS */ #endif /* WLAN_FEATURE_LPSS */
tgt_cfg.ap_arpns_support = wma_handle->ap_arpns_support; tgt_cfg.ap_arpns_support = wma_handle->ap_arpns_support;
tgt_cfg.apf_enabled = wma_handle->apf_enabled;
tgt_cfg.dfs_cac_offload = wma_handle->is_dfs_offloaded; tgt_cfg.dfs_cac_offload = wma_handle->is_dfs_offloaded;
tgt_cfg.rcpi_enabled = wma_handle->rcpi_enabled; tgt_cfg.rcpi_enabled = wma_handle->rcpi_enabled;
wma_update_ra_rate_limit(wma_handle, &tgt_cfg); wma_update_ra_rate_limit(wma_handle, &tgt_cfg);
@@ -5651,11 +5653,11 @@ static void wma_init_scan_fw_mode_config(struct wlan_objmgr_psoc *psoc,
#ifdef FEATURE_WLAN_RA_FILTERING #ifdef FEATURE_WLAN_RA_FILTERING
static void wma_update_ra_limit(tp_wma_handle wma_handle) static void wma_update_ra_limit(tp_wma_handle wma_handle)
{ {
if (wma_handle->apf_enabled) if (ucfg_pmo_is_apf_enabled(wma_handle->psoc))
wma_handle->IsRArateLimitEnabled = false; wma_handle->IsRArateLimitEnabled = false;
} }
#else #else
static void wma_update_ra__limit(tp_wma_handle handle) static void wma_update_ra_limit(tp_wma_handle handle)
{ {
} }
#endif #endif
@@ -5885,8 +5887,6 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
wma_handle->ap_arpns_support = wma_handle->ap_arpns_support =
wmi_service_enabled(wmi_handle, wmi_service_ap_arpns_offload); wmi_service_enabled(wmi_handle, wmi_service_ap_arpns_offload);
wma_handle->apf_enabled = (wma_handle->apf_packet_filter_enable &&
wmi_service_enabled(wmi_handle, wmi_service_apf_offload));
wma_update_ra_limit(wma_handle); wma_update_ra_limit(wma_handle);
if (wmi_service_enabled(wmi_handle, wmi_service_csa_offload)) { if (wmi_service_enabled(wmi_handle, wmi_service_csa_offload)) {

Vedi File

@@ -52,6 +52,7 @@
#include "ol_fw.h" #include "ol_fw.h"
#include "wma_internal.h" #include "wma_internal.h"
#include "wlan_pmo_ucfg_api.h"
/** /**
* wma_unified_modem_power_state() - set modem power state to fw * wma_unified_modem_power_state() - set modem power state to fw
@@ -583,28 +584,20 @@ static QDF_STATUS wma_set_force_sleep(tp_wma_handle wma,
rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD; rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD;
tx_wake_threshold = WMI_STA_PS_TX_WAKE_THRESHOLD_NEVER; tx_wake_threshold = WMI_STA_PS_TX_WAKE_THRESHOLD_NEVER;
if (wlan_cfg_get_int(mac, WNI_CFG_MAX_PS_POLL, if (ucfg_pmo_get_max_ps_poll(mac->psoc))
&cfg_data_val) != QDF_STATUS_SUCCESS) { pspoll_count =
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR, (uint32_t)ucfg_pmo_get_max_ps_poll(mac->psoc);
"Failed to get value for WNI_CFG_MAX_PS_POLL");
}
if (cfg_data_val)
pspoll_count = (uint32_t) cfg_data_val;
else else
pspoll_count = WMA_DEFAULT_MAX_PSPOLL_BEFORE_WAKE; pspoll_count = WMA_DEFAULT_MAX_PSPOLL_BEFORE_WAKE;
psmode = WMI_STA_PS_MODE_ENABLED; psmode = WMI_STA_PS_MODE_ENABLED;
} else { } else {
/* Ps Poll Wake Policy */ /* Ps Poll Wake Policy */
if (wlan_cfg_get_int(mac, WNI_CFG_MAX_PS_POLL, if (ucfg_pmo_get_max_ps_poll(mac->psoc)) {
&cfg_data_val) != QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
"Failed to get value for WNI_CFG_MAX_PS_POLL");
}
if (cfg_data_val) {
/* Ps Poll is enabled */ /* Ps Poll is enabled */
rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD; rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_POLL_UAPSD;
pspoll_count = (uint32_t) cfg_data_val; pspoll_count =
(uint32_t)ucfg_pmo_get_max_ps_poll(mac->psoc);
tx_wake_threshold = WMI_STA_PS_TX_WAKE_THRESHOLD_NEVER; tx_wake_threshold = WMI_STA_PS_TX_WAKE_THRESHOLD_NEVER;
} else { } else {
rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_WAKE; rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_WAKE;