diff --git a/components/cfg/cfg_all.h b/components/cfg/cfg_all.h index 86eb368b11..12f5c4532c 100644 --- a/components/cfg/cfg_all.h +++ b/components/cfg/cfg_all.h @@ -39,6 +39,8 @@ #define CFG_NAN_ALL #endif +#include "wlan_pmo_cfg.h" + /* Maintain Alphabetic order here while adding components */ #define CFG_ALL \ CFG_CONVERGED_ALL \ @@ -46,4 +48,5 @@ CFG_MLME_ALL \ CFG_NAN_ALL \ CFG_P2P_ALL \ + CFG_PMO_ALL \ CFG_TDLS_ALL diff --git a/core/cds/inc/cds_config.h b/core/cds/inc/cds_config.h index 25a21c41c2..ff80a5436a 100644 --- a/core/cds/inc/cds_config.h +++ b/core/cds/inc/cds_config.h @@ -60,15 +60,9 @@ enum active_apf_mode { * struct cds_config_info - Place Holder for cds configuration * @max_station: Max station supported * @max_bssid: Max Bssid Supported - * @powersave_offload_enabled: Indicate if powersave offload is enabled * @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 - * @wow_enable: Indicate whether wow is enabled or not * 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 * Indicates whether support is enabled or not * @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 * @enable_dp_rx_threads: enable dp rx threads * @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 * @self_gen_frm_pwr: Self gen from power * @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 * @active_mc_bc_apf_mode: Setting that determines how APF is applied in * active mode for MC/BC packets - * @auto_power_save_fail_mode: auto detect power save failure mode * @ito_repeat_count: Indicates ito repeated count * @force_target_assert_enabled: Indicate whether target assert enabled or not * @bandcapability: Configured band by user @@ -117,14 +109,8 @@ enum active_apf_mode { struct cds_config_info { uint16_t max_station; uint16_t max_bssid; - uint8_t powersave_offload_enabled; uint8_t sta_maxlimod_dtim; - uint8_t sta_mod_dtim; - uint8_t sta_dynamic_dtim; enum qdf_driver_type driver_type; - uint8_t wow_enable; - bool ssdp; - bool enable_mc_list; uint8_t dfs_phyerr_filter_offload; uint8_t ap_disable_intrabss_fwd; uint8_t ap_maxoffload_peers; @@ -153,7 +139,6 @@ struct cds_config_info { #ifdef WLAN_FEATURE_LPSS bool is_lpass_enabled; #endif - bool apf_packet_filter_enable; uint16_t self_gen_frm_pwr; enum cfg_sub_20_channel_width sub_20_channel_width; 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]; enum active_apf_mode active_uc_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; bool force_target_assert_enabled; uint8_t bandcapability; diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index ec73daf66d..467c1c8e8d 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -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_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) - /* * * 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_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) - /* * * 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_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) - /* * * 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) #endif -/* - * - * 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 - * - * - */ -#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) /* * * 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_MAX (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) /* * @@ -7766,47 +7679,6 @@ enum hdd_link_speed_rpt_type { */ #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 * 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_MAX (1) #define CFG_ENABLE_RUNTIME_PM_DEFAULT (0) - -/* - * - * 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 - * - * - */ -#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 - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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 -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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) - -/* - * - * 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 - * - * - */ -#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 /** @@ -10493,8 +10042,6 @@ struct hdd_config { /* In units of milliseconds */ uint32_t idle_time_conc; - uint8_t nMaxPsPoll; - uint8_t nRssiFilterPeriod; uint8_t fMaxLIModulatedDTIM; @@ -10559,16 +10106,8 @@ struct hdd_config { 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 bool runtime_pm; - uint32_t runtime_pm_delay; #endif #ifdef FEATURE_WLAN_RA_FILTERING @@ -10578,7 +10117,6 @@ struct hdd_config { #ifdef FEATURE_WLAN_SCAN_PNO bool PnoOffload; #endif - bool fhostNSOffload; bool burstSizeDefinition; uint8_t tsInfoAckPolicy; @@ -10617,7 +10155,6 @@ struct hdd_config { uint8_t enableBypass11d; uint8_t enableDFSChnlScan; uint8_t enable_dfs_pno_chnl_scan; - uint8_t enableDynamicDTIM; uint8_t ShortGI40MhzEnable; enum hdd_link_speed_rpt_type reportMaxLinkSpeed; int32_t linkSpeedRssiHigh; @@ -10683,8 +10220,6 @@ struct hdd_config { uint8_t enableAmpduPs; uint8_t enableHtSmps; uint8_t htSmps; - uint8_t enableModulatedDTIM; - uint32_t fEnableMCAddrList; bool enableFirstScan2GOnly; bool enableRxSTBC; bool enableTxSTBC; @@ -10721,7 +10256,6 @@ struct hdd_config { uint32_t ibssPs1RxChainInAtimEnable; bool enable_ip_tcp_udp_checksum_offload; - uint8_t enablePowersaveOffload; bool enablefwprint; uint8_t enable_fw_log; uint8_t fVhtAmpduLenExponent; @@ -10738,7 +10272,6 @@ struct hdd_config { #ifdef FEATURE_WLAN_AUTO_SHUTDOWN uint32_t WlanAutoShutdown; #endif - uint8_t wowEnable; uint8_t disableDFSChSwitch; uint8_t enableDFSMasterCap; uint32_t TxPower2g; @@ -10831,19 +10364,6 @@ struct hdd_config { 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; #ifdef DHCP_SERVER_OFFLOAD bool enableDHCPServerOffload; @@ -10872,8 +10392,6 @@ struct hdd_config { bool gro_enable; bool flow_steering_enable; 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 */ uint32_t fine_time_meas_cap; uint8_t max_scan_count; @@ -10981,12 +10499,6 @@ struct hdd_config { uint32_t rx_wakelock_timeout; uint32_t max_sched_scan_plan_interval; 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; bool sap_internal_restart; enum restart_beaconing_on_ch_avoid_rule @@ -11024,7 +10536,6 @@ struct hdd_config { bool is_force_1x1; uint8_t enable_rts_sifsbursting; uint8_t max_mpdus_inampdu; - enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode; uint8_t ito_repeat_count; bool enable_11d_in_world_mode; /* 5G preference parameters for boosting RSSI */ @@ -11049,9 +10560,6 @@ struct hdd_config { uint32_t wlm_latency_flags_moderate; uint32_t wlm_latency_flags_low; 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 dfs_beacon_tx_enhanced; uint32_t btm_offload_config; diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 42c0fb1a8b..094811ad76 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1975,7 +1975,6 @@ struct hdd_context { enum twt_status twt_state; #endif #ifdef FEATURE_WLAN_APF - bool apf_supported; uint32_t apf_version; bool apf_enabled_v2; #endif diff --git a/core/hdd/src/wlan_hdd_apf.c b/core/hdd/src/wlan_hdd_apf.c index 1df7732377..82adc72c1b 100644 --- a/core/hdd/src/wlan_hdd_apf.c +++ b/core/hdd/src/wlan_hdd_apf.c @@ -637,7 +637,7 @@ __wlan_hdd_cfg80211_apf_offload(struct wiphy *wiphy, 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"); return -ENOTSUPP; } diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index 16c480387f..bcbdeb87f3 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -726,13 +726,6 @@ struct reg_table_entry g_registry_table[] = { CFG_IDLE_TIME_MIN, 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, struct hdd_config, nTxPowerCap, 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_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 REG_VARIABLE(CFG_RA_FILTER_ENABLE_NAME, WLAN_PARAM_Integer, struct hdd_config, IsRArateLimitEnabled, @@ -1378,13 +1357,6 @@ struct reg_table_entry g_registry_table[] = { CFG_RA_RATE_LIMIT_INTERVAL_MAX), #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 REG_VARIABLE(CFG_ENABLE_RUNTIME_PM, WLAN_PARAM_Integer, 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_MIN, 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 - - 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, struct hdd_config, tsInfoAckPolicy, 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_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, struct hdd_config, ShortGI40MhzEnable, 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_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, struct hdd_config, vhtChannelWidth, 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_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, struct hdd_config, enablefwprint, 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_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, struct hdd_config, isCoalesingInIBSSAllowed, 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_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, struct hdd_config, gEnableDeauthToDisassocMap, 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_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, struct hdd_config, flow_steering_enable, 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_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, struct hdd_config, fine_time_meas_cap, 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_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, struct hdd_config, ce_classify_enabled, 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_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, struct hdd_config, ito_repeat_count, 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), -#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, struct hdd_config, dfs_beacon_tx_enhanced, 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; hdd_disable_runtime_pm(cfg_ini); hdd_disable_auto_shutdown(cfg_ini); - cfg_ini->enablePowersaveOffload = 0; - cfg_ini->wowEnable = 0; + ucfg_pmo_set_power_save_mode(hdd_ctx->psoc, PS_NOT_SUPPORTED); + 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"); } - 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, config->nDataInactivityTimeout) == QDF_STATUS_E_FAILURE) { 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"); } - if (sme_cfg_set_int(mac_handle, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) { 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"); } - 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, config->enableMCCAdaptiveScheduler) == QDF_STATUS_E_FAILURE) { diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 587b688dcd..68e9bff0a6 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -121,6 +121,8 @@ #include "wlan_mlme_public_struct.h" #include "wlan_extscan_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_nl_to_crypto_params.h" @@ -5554,7 +5556,7 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy, override_li = nla_get_u32( 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", override_li); return -EINVAL; @@ -7167,12 +7169,13 @@ __wlan_hdd_cfg80211_set_ns_offload(struct wiphy *wiphy, status = wlan_hdd_validate_context(hdd_ctx); if (0 != status) return status; - if (!hdd_ctx->config->fhostNSOffload) { + + if (!ucfg_pmo_is_ns_offloaded(hdd_ctx->psoc)) { hdd_err("ND Offload not supported"); 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"); return -EINVAL; } diff --git a/core/hdd/src/wlan_hdd_debugfs_offload.c b/core/hdd/src/wlan_hdd_debugfs_offload.c index a2ade38d92..9a4efca179 100644 --- a/core/hdd/src/wlan_hdd_debugfs_offload.c +++ b/core/hdd/src/wlan_hdd_debugfs_offload.c @@ -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}; 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, "\nMC addr ini is disabled\n"); if (ret > 0) diff --git a/core/hdd/src/wlan_hdd_ftm.c b/core/hdd/src/wlan_hdd_ftm.c index f7272ebac9..e8ab29e9ef 100644 --- a/core/hdd/src/wlan_hdd_ftm.c +++ b/core/hdd/src/wlan_hdd_ftm.c @@ -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->powersave_offload_enabled = - hdd_ctx->config->enablePowersaveOffload; hdd_lpass_populate_cds_config(cds_cfg, hdd_ctx); cds_cfg->sub_20_channel_width = WLAN_SUB_20_CH_WIDTH_NONE; cds_cfg->self_recovery_enabled = hdd_ctx->config->enableSelfRecovery; diff --git a/core/hdd/src/wlan_hdd_ioctl.c b/core/hdd/src/wlan_hdd_ioctl.c index 38e5f882b7..07b85a0a54 100644 --- a/core/hdd/src/wlan_hdd_ioctl.c +++ b/core/hdd/src/wlan_hdd_ioctl.c @@ -1840,7 +1840,7 @@ static int hdd_enable_ext_wow(struct hdd_adapter *adapter, 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"); 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; } } + exit: osif_request_put(request); return rc; @@ -1868,6 +1869,7 @@ static int hdd_enable_ext_wow_parser(struct hdd_adapter *adapter, int vdev_id, tSirExtWoWParams params; struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter); int rc; + uint8_t pin1, pin2; rc = wlan_hdd_validate_context(hdd_ctx); 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.wakeup_pin_num = hdd_ctx->config->extWowApp1WakeupPinNumber | - (hdd_ctx->config->extWowApp2WakeupPinNumber - << 8); + pin1 = ucfg_pmo_extwow_app1_wakeup_pin_num(hdd_ctx->psoc); + pin2 = ucfg_pmo_extwow_app2_wakeup_pin_num(hdd_ctx->psoc); + params.wakeup_pin_num = pin1 | (pin2 << 8); return hdd_enable_ext_wow(adapter, ¶ms); } @@ -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); params.vdev_id = adapter->session_id; - params.tcp_src_port = (params.tcp_src_port != 0) ? - params.tcp_src_port : hdd_ctx->config->extWowApp2TcpSrcPort; - params.tcp_dst_port = (params.tcp_dst_port != 0) ? - params.tcp_dst_port : hdd_ctx->config->extWowApp2TcpDstPort; - params.keepalive_init = (params.keepalive_init != 0) ? - params.keepalive_init : hdd_ctx->config-> - extWowApp2KAInitPingInterval; - params.keepalive_min = - (params.keepalive_min != 0) ? - params.keepalive_min : - hdd_ctx->config->extWowApp2KAMinPingInterval; - params.keepalive_max = - (params.keepalive_max != 0) ? - params.keepalive_max : - hdd_ctx->config->extWowApp2KAMaxPingInterval; - params.keepalive_inc = - (params.keepalive_inc != 0) ? - params.keepalive_inc : - hdd_ctx->config->extWowApp2KAIncPingInterval; - params.tcp_tx_timeout_val = - (params.tcp_tx_timeout_val != 0) ? - params.tcp_tx_timeout_val : - hdd_ctx->config->extWowApp2TcpTxTimeout; - params.tcp_rx_timeout_val = - (params.tcp_rx_timeout_val != 0) ? - params.tcp_rx_timeout_val : - hdd_ctx->config->extWowApp2TcpRxTimeout; + + if (!params.tcp_src_port) + params.tcp_src_port = + ucfg_pmo_extwow_app2_tcp_src_port(hdd_ctx->psoc); + + if (!params.tcp_dst_port) + params.tcp_dst_port = + ucfg_pmo_extwow_app2_tcp_dst_port(hdd_ctx->psoc); + + if (!params.keepalive_init) + params.keepalive_init = + ucfg_pmo_extwow_app2_init_ping_interval(hdd_ctx->psoc); + + if (!params.keepalive_min) + params.keepalive_min = + ucfg_pmo_extwow_app2_min_ping_interval(hdd_ctx->psoc); + + if (!params.keepalive_max) + params.keepalive_max = + ucfg_pmo_extwow_app2_max_ping_interval(hdd_ctx->psoc); + + if (!params.keepalive_inc) + params.keepalive_inc = + ucfg_pmo_extwow_app2_inc_ping_interval(hdd_ctx->psoc); + + if (!params.tcp_tx_timeout_val) + 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", 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; } - if (!hdd_ctx->config->fEnableMCAddrList) { + if (!ucfg_pmo_is_mc_addr_list_enabled(hdd_ctx->psoc)) { hdd_warn("mc addr ini is disabled"); return -EINVAL; } diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 61b6c56924..192f0117c6 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -1248,6 +1248,7 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx, struct wma_tgt_services *cfg) { struct hdd_config *config = hdd_ctx->config; + bool arp_offload_enable; #ifdef FEATURE_WLAN_TDLS bool tdls_support; 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; /* 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 /* 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; } -#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 * 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)) hdd_err("fw update WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED to CFG fails"); - hdd_update_apf_support(hdd_ctx, cfg); - - hdd_debug("Target APF %d Host APF %d 8ss fw support %d txBFCsnValue %d", - cfg->apf_enabled, hdd_ctx->config->apf_packet_filter_enable, + hdd_debug("Target 8ss fw support %d txBFCsnValue %d", 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) { - struct hdd_config *pcfg_ini = phddctx->config; struct wow_pulse_mode wow_pulse_set_info; QDF_STATUS status; 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; /* prepare the request to send to SME */ if (enable == true) { wow_pulse_set_info.wow_pulse_enable = true; wow_pulse_set_info.wow_pulse_pin = - pcfg_ini->wow_pulse_pin; - wow_pulse_set_info.wow_pulse_interval_low = - pcfg_ini->wow_pulse_interval_low; + ucfg_pmo_get_wow_pulse_pin(phddctx->psoc); + 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 { wow_pulse_set_info.wow_pulse_enable = false; 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); 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); 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; - 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->wow_enable = hdd_ctx->config->wowEnable; /* * 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 = hdd_ctx->config->fDfsPhyerrFilterOffload; - if (hdd_ctx->config->ssdp) - cds_cfg->ssdp = hdd_ctx->config->ssdp; cds_cfg->force_target_assert_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); cds_cfg->ap_maxoffload_peers = value; 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->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; ucfg_mlme_get_sap_max_peers(hdd_ctx->psoc, &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->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->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->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; struct policy_mgr_dp_cbacks dp_cbs = {0}; bool value; + enum pmo_auto_pwr_detect_failure_mode auto_power_fail_mode; 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, 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, - hdd_ctx->config->auto_pwr_save_fail_mode, PDEV_CMD); + auto_power_fail_mode, PDEV_CMD); 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); 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; -err: +err_pmo: + ucfg_fwol_psoc_close(psoc); +err_fwol: ucfg_mlme_psoc_close(psoc); return status; } void hdd_component_psoc_close(struct wlan_objmgr_psoc *psoc) { + ucfg_pmo_psoc_close(psoc); ucfg_fwol_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) { 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 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; + if (ucfg_pmo_is_ns_offloaded(hdd_ctx->psoc)) + hdd_ctx->ns_offload_enable = true; + hdd_update_ol_config(hdd_ctx); hdd_update_hif_config(hdd_ctx); 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; 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, @@ -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 * all interfaces. */ - psoc_cfg.magic_ptrn_enable = - (hdd_ctx->config->wowEnable & 0x01) ? true : false; + wow_enable = ucfg_pmo_get_wow_enable(hdd_ctx->psoc); + psoc_cfg.magic_ptrn_enable = (wow_enable & 0x01) ? true : false; psoc_cfg.ptrn_match_enable_all_vdev = - (hdd_ctx->config->wowEnable & 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; + (wow_enable & 0x02) ? true : false; 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.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.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_lpass_populate_pmo_config(&psoc_cfg, hdd_ctx); diff --git a/core/hdd/src/wlan_hdd_packet_filter.c b/core/hdd/src/wlan_hdd_packet_filter.c index cb704ce6a6..fdfd945849 100644 --- a/core/hdd/src/wlan_hdd_packet_filter.c +++ b/core/hdd/src/wlan_hdd_packet_filter.c @@ -42,7 +42,7 @@ int hdd_enable_default_pkt_filters(struct hdd_adapter *adapter) return 0; } - filters = hdd_ctx->config->packet_filters_bitmap; + filters = ucfg_pmo_get_pkt_filter_bitmap(hdd_ctx->psoc); while (filters != 0) { if (filters & 0x1) { @@ -79,7 +79,7 @@ int hdd_disable_default_pkt_filters(struct hdd_adapter *adapter) return 0; } - filters = hdd_ctx->config->packet_filters_bitmap; + filters = ucfg_pmo_get_pkt_filter_bitmap(hdd_ctx->psoc); while (filters != 0) { if (filters & 0x1) { diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c index 85e5d83b2f..d4e1181446 100644 --- a/core/hdd/src/wlan_hdd_power.c +++ b/core/hdd/src/wlan_hdd_power.c @@ -802,9 +802,8 @@ static int __wlan_hdd_ipv4_changed(struct notifier_block *nb, hdd_debug("invoking sme_dhcp_done_ind"); sme_dhcp_done_ind(hdd_ctx->mac_handle, adapter->session_id); - if (!hdd_ctx->config->fhostArpOffload) { - hdd_debug("Offload not enabled ARPOffload=%d", - hdd_ctx->config->fhostArpOffload); + if (!ucfg_pmo_is_arp_offload_enabled(hdd_ctx->psoc)) { + hdd_debug("Offload not enabled"); goto exit; } @@ -2131,7 +2130,7 @@ int hdd_set_qpower_config(struct hdd_context *hddctx, { QDF_STATUS status; - if (!hddctx->config->enablePowersaveOffload) { + if (!ucfg_pmo_get_power_save_mode(hddctx->psoc)) { hdd_err("qpower is disabled in configuration"); return -EINVAL; } @@ -2148,7 +2147,7 @@ int hdd_set_qpower_config(struct hdd_context *hddctx, return -EINVAL; } - if (hddctx->config->nMaxPsPoll) { + if (ucfg_pmo_get_max_ps_poll(hddctx->psoc)) { if ((qpower == PS_QPOWER_NODEEPSLEEP) || (qpower == PS_LEGACY_NODEEPSLEEP)) qpower = PS_LEGACY_NODEEPSLEEP; diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 6c36de8a96..17b5a00998 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -104,6 +104,8 @@ #include "wlan_mlme_public_struct.h" #include "cfg_ucfg_api.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_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); break; case WE_SET_MODULATED_DTIM: - if ((set_value < CFG_ENABLE_MODULATED_DTIM_MIN) || - (set_value > CFG_ENABLE_MODULATED_DTIM_MAX)) { + if ((set_value < cfg_max(CFG_PMO_ENABLE_MODULATED_DTIM)) || + (set_value > cfg_max(CFG_PMO_ENABLE_MODULATED_DTIM))) { hdd_err("Invalid gEnableModuleDTIM value %d", set_value); return -EINVAL; } - hdd_ctx->config->enableModulatedDTIM = set_value; + ucfg_pmo_set_sta_mod_dtim(hdd_ctx->psoc, set_value); break; default: hdd_debug("Invalid sub command %d", sub_cmd); diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index bbd0e654f7..874f289277 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -5654,23 +5654,6 @@ enum powersave_qpower_mode { 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 /** * struct gateway_param_update_req - gateway parameter update request diff --git a/core/mac/inc/wni_cfg.h b/core/mac/inc/wni_cfg.h index 1a6219ae9a..f26828a231 100644 --- a/core/mac/inc/wni_cfg.h +++ b/core/mac/inc/wni_cfg.h @@ -111,14 +111,9 @@ enum { WNI_CFG_VHT_160MHZ_UTILIZATION, WNI_CFG_MPDU_DENSITY, WNI_CFG_MAX_RX_AMPDU_FACTOR, - WNI_CFG_MAX_PS_POLL, WNI_CFG_SCAN_IN_POWERSAVE, WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_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_WPS_ENABLE, WNI_CFG_WPS_STATE, @@ -134,7 +129,6 @@ enum { WNI_CFG_ASSOC_STA_LIMIT, WNI_CFG_ENABLE_LTE_COEX, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, - WNI_CFG_ENABLE_MC_ADDR_LIST, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, 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_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_STAMAX 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_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_STAMAX 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_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_STAMAX 1 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STADEF 0 diff --git a/core/mac/src/cfg/cfgUtil/cfg.txt b/core/mac/src/cfg/cfgUtil/cfg.txt index 5a12289596..fc2df0f03b 100644 --- a/core/mac/src/cfg/cfgUtil/cfg.txt +++ b/core/mac/src/cfg/cfgUtil/cfg.txt @@ -2638,20 +2638,6 @@ NONE #ENUM ENABLE 1 #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 V RW NP LIM @@ -2736,28 +2722,6 @@ NONE 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 * 16 bit wide @@ -3642,19 +3606,6 @@ V RW NP HAL 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 * diff --git a/core/mac/src/cfg/cfg_param_name.c b/core/mac/src/cfg/cfg_param_name.c index c9a9089a23..5b1d1fbc2d 100644 --- a/core/mac/src/cfg/cfg_param_name.c +++ b/core/mac/src/cfg/cfg_param_name.c @@ -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_MPDU_DENSITY); 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_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_WPS_ENABLE); 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_ENABLE_LTE_COEX); 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_DISABLE_LDPC_WITH_TXBF_AP); CASE_RETURN_STRING(WNI_CFG_AP_LINK_MONITOR_TIMEOUT); diff --git a/core/mac/src/cfg/cfg_proc_msg.c b/core/mac/src/cfg/cfg_proc_msg.c index 6d7325aa9c..2850256276 100644 --- a/core/mac/src/cfg/cfg_proc_msg.c +++ b/core/mac/src/cfg/cfg_proc_msg.c @@ -493,12 +493,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = { WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN, 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, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT | 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_STAMAX, 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, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, 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_STAMAX, 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, CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED_STAMIN, diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index c59f7f2327..8b56ae48d8 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -693,7 +693,6 @@ struct wma_version_info { * @wow_enable_cmd_sent: is wow enable command sent to fw * @deauth_enable: is deauth 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_err_enable: is GTK error wakeup enable/disable * @lphb_cache: lphb cache @@ -707,7 +706,6 @@ struct wma_wow { bool wow_enable_cmd_sent; bool deauth_enable; bool disassoc_enable; - bool bmiss_enable; 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 * @wmi_cmd_rsp_wake_lock: wmi command response wake 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 mode for uc packets * @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); qdf_wake_lock_t wmi_cmd_rsp_wake_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_mc_bc_apf_mode; struct wma_ini_config ini_config; diff --git a/core/wma/inc/wma_tgt_cfg.h b/core/wma/inc/wma_tgt_cfg.h index e6033f1ea3..ff10026ac9 100644 --- a/core/wma/inc/wma_tgt_cfg.h +++ b/core/wma/inc/wma_tgt_cfg.h @@ -198,7 +198,6 @@ struct wma_tgt_cfg { #endif uint8_t ap_arpns_support; uint32_t fine_time_measurement_cap; - bool apf_enabled; #ifdef FEATURE_WLAN_RA_FILTERING bool is_ra_rate_limit_enabled; #endif diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 93ef818b5e..e61bf984fd 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -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->ptrn_match_enable_all_vdev ? true : false; - if (wlan_cfg_get_int(mac, WNI_CFG_WOWLAN_DEAUTH_ENABLE, &cfg_val) - != QDF_STATUS_SUCCESS) - wma_handle->wow.deauth_enable = true; - else - wma_handle->wow.deauth_enable = cfg_val ? true : false; + wma_handle->wow.deauth_enable = + ucfg_pmo_is_wowlan_deauth_enabled(wma_handle->psoc); - if (wlan_cfg_get_int(mac, WNI_CFG_WOWLAN_DISASSOC_ENABLE, &cfg_val) - != QDF_STATUS_SUCCESS) - 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; + wma_handle->wow.disassoc_enable = + ucfg_pmo_is_wowlan_disassoc_enabled(wma_handle->psoc); qdf_mem_copy(wma_handle->interfaces[vdev_id].addr, self_sta_req->self_mac_addr, diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 0aef450f3c..16bae864f4 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -3138,6 +3138,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, bool val = 0; void *cds_context; target_resource_config *wlan_res_cfg; + enum pmo_wow_enable_type wow_enable; 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_bssid = cds_cfg->max_bssid; - wma_handle->ssdp = cds_cfg->ssdp; - wma_handle->enable_mc_list = cds_cfg->enable_mc_list; - wma_handle->apf_packet_filter_enable = - cds_cfg->apf_packet_filter_enable; + wma_handle->ssdp = ucfg_pmo_is_ssdp_enabled(wma_handle->psoc); + wma_handle->enable_mc_list = + ucfg_pmo_is_mc_addr_list_enabled(wma_handle->psoc); 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->link_stats_results = NULL; @@ -3506,10 +3506,12 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, * 3 - Legacy Powersave + 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->staModDtim = cds_cfg->sta_mod_dtim; - wma_handle->staDynamicDtim = cds_cfg->sta_dynamic_dtim; + wma_handle->staModDtim = ucfg_pmo_get_sta_mod_dtim(wma_handle->psoc); + wma_handle->staDynamicDtim = + ucfg_pmo_get_sta_dynamic_dtim(wma_handle->psoc); /* * 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 * all interfaces. */ + wow_enable = ucfg_pmo_get_wow_enable(wma_handle->psoc); 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 = - (cds_cfg->wow_enable & 0x02) ? true : false; + (wow_enable & 0x02) ? true : false; /* register for install key completion event */ 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; /* 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) { wmi_unified_register_event_handler(wma_handle->wmi_handle, 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; #endif /* WLAN_FEATURE_LPSS */ 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.rcpi_enabled = wma_handle->rcpi_enabled; 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 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; } #else -static void wma_update_ra__limit(tp_wma_handle handle) +static void wma_update_ra_limit(tp_wma_handle handle) { } #endif @@ -5885,8 +5887,6 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info, wma_handle->ap_arpns_support = 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); if (wmi_service_enabled(wmi_handle, wmi_service_csa_offload)) { diff --git a/core/wma/src/wma_power.c b/core/wma/src/wma_power.c index c03ba4ec5d..21ba486c3c 100644 --- a/core/wma/src/wma_power.c +++ b/core/wma/src/wma_power.c @@ -52,6 +52,7 @@ #include "ol_fw.h" #include "wma_internal.h" +#include "wlan_pmo_ucfg_api.h" /** * 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; tx_wake_threshold = WMI_STA_PS_TX_WAKE_THRESHOLD_NEVER; - if (wlan_cfg_get_int(mac, WNI_CFG_MAX_PS_POLL, - &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) - pspoll_count = (uint32_t) cfg_data_val; + if (ucfg_pmo_get_max_ps_poll(mac->psoc)) + pspoll_count = + (uint32_t)ucfg_pmo_get_max_ps_poll(mac->psoc); else pspoll_count = WMA_DEFAULT_MAX_PSPOLL_BEFORE_WAKE; psmode = WMI_STA_PS_MODE_ENABLED; } else { /* Ps Poll Wake Policy */ - if (wlan_cfg_get_int(mac, WNI_CFG_MAX_PS_POLL, - &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) { + if (ucfg_pmo_get_max_ps_poll(mac->psoc)) { /* Ps Poll is enabled */ 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; } else { rx_wake_policy = WMI_STA_PS_RX_WAKE_POLICY_WAKE;