Loading Android.mk +2 −0 Original line number Diff line number Diff line Loading @@ -68,7 +68,9 @@ include $(foreach chip, $(TARGET_WLAN_CHIP), $(LOCAL_PATH)/.$(chip)/Android.mk) else # Multi-ok check ifeq ($(WLAN_PROFILE),) WLAN_PROFILE := default endif ifeq ($(LOCAL_DEV_NAME), qcacld-3.0) Loading components/mlme/core/inc/wlan_mlme_main.h +22 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,7 @@ struct mscs_req_info { * @last_delba_sent_time: Last delba sent time to handle back to back delba * requests from some IOT APs * @ba_2k_jump_iot_ap: This is set to true if connected to the ba 2k jump IOT AP * @bad_htc_he_iot_ap: Set to true if connected to AP who can't decode htc he */ struct mlme_legacy_priv { bool chan_switch_in_progress; Loading Loading @@ -287,6 +288,7 @@ struct mlme_legacy_priv { #endif qdf_time_t last_delba_sent_time; bool ba_2k_jump_iot_ap; bool bad_htc_he_iot_ap; }; Loading Loading @@ -699,6 +701,26 @@ mlme_set_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id, void mlme_clear_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id); /** * mlme_get_cfg_wlm_level() - Get the WLM level value * @psoc: pointer to psoc object * @level: level that needs to be filled. * * Return: QDF Status */ QDF_STATUS mlme_get_cfg_wlm_level(struct wlan_objmgr_psoc *psoc, uint8_t *level); /** * mlme_get_cfg_wlm_reset() - Get the WLM reset flag * @psoc: pointer to psoc object * @reset: reset that needs to be filled. * * Return: QDF Status */ QDF_STATUS mlme_get_cfg_wlm_reset(struct wlan_objmgr_psoc *psoc, bool *reset); #define MLME_IS_ROAM_STATE_RSO_ENABLED(psoc, vdev_id) \ (mlme_get_roam_state(psoc, vdev_id) == WLAN_ROAM_RSO_ENABLED) Loading components/mlme/core/src/wlan_mlme_main.c +29 −2 Original line number Diff line number Diff line Loading @@ -794,8 +794,6 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE); qos_aggr_params->sap_uapsd_enabled = cfg_get(psoc, CFG_SAP_QOS_UAPSD); qos_aggr_params->reject_addba_req = cfg_get(psoc, CFG_REJECT_ADDBA_REQ); } static void mlme_init_mbo_cfg(struct wlan_objmgr_psoc *psoc, Loading Loading @@ -2210,6 +2208,7 @@ static void mlme_init_fe_wlm_in_cfg(struct wlan_objmgr_psoc *psoc, struct wlan_mlme_fe_wlm *wlm_config) { wlm_config->latency_enable = cfg_get(psoc, CFG_LATENCY_ENABLE); wlm_config->latency_reset = cfg_get(psoc, CFG_LATENCY_RESET); wlm_config->latency_level = cfg_get(psoc, CFG_LATENCY_LEVEL); wlm_config->latency_flags[0] = cfg_get(psoc, CFG_LATENCY_FLAGS_NORMAL); wlm_config->latency_flags[1] = cfg_get(psoc, CFG_LATENCY_FLAGS_MOD); Loading Loading @@ -2968,6 +2967,34 @@ mlme_clear_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id) wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID); } QDF_STATUS mlme_get_cfg_wlm_level(struct wlan_objmgr_psoc *psoc, uint8_t *level) { struct wlan_mlme_psoc_ext_obj *mlme_obj; mlme_obj = mlme_get_psoc_ext_obj(psoc); if (!mlme_obj) return QDF_STATUS_E_FAILURE; *level = mlme_obj->cfg.wlm_config.latency_level; return QDF_STATUS_SUCCESS; } QDF_STATUS mlme_get_cfg_wlm_reset(struct wlan_objmgr_psoc *psoc, bool *reset) { struct wlan_mlme_psoc_ext_obj *mlme_obj; mlme_obj = mlme_get_psoc_ext_obj(psoc); if (!mlme_obj) return QDF_STATUS_E_FAILURE; *reset = mlme_obj->cfg.wlm_config.latency_reset; return QDF_STATUS_SUCCESS; } enum roam_offload_state mlme_get_roam_state(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id) { Loading components/mlme/dispatcher/inc/cfg_mlme_btm.h +4 −1 Original line number Diff line number Diff line /* * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -89,9 +89,12 @@ * 10, 11 reserved * * BIT 5, 4, 3: Roaming handoff decisions on multiple candidates match * for unsolicited BTM request. * 000 match if exact BSSIDs are found * 001 match if at least one top priority BSSID only * 010, 011, 100, 101, 110, 111 reserved * In case of solicited request intersection of Roam cache/candidates * with candidates in BTM request is taken into consideration. * * BIT 6: Set this to 1 will send BTM query frame and 0 not sent. * Loading components/mlme/dispatcher/inc/cfg_mlme_fe_wlm.h +20 −2 Original line number Diff line number Diff line /* * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -52,7 +52,7 @@ * * @min: 0 * @max: 1 * @default: 0 * @default: 1 * * 0 - disable * 1 - enable Loading @@ -63,6 +63,23 @@ 1, \ "WLM latency Enable") /* * <ini> * wlm_latency_reset_on_disconnect - WLM latency level reset on disconnect * * @min: 0 * @max: 1 * @default: 0 * * 0 - disable * 1 - enable * * </ini> */ #define CFG_LATENCY_RESET CFG_INI_BOOL("wlm_latency_reset_on_disconnect", \ 0, \ "WLM latency reset on disconnect") /* * <ini> * wlm_latency_level - WLM latency level Loading Loading @@ -414,6 +431,7 @@ #define CFG_FE_WLM_ALL \ CFG(CFG_LATENCY_ENABLE) \ CFG(CFG_LATENCY_RESET) \ CFG(CFG_LATENCY_LEVEL) \ CFG(CFG_LATENCY_FLAGS_NORMAL) \ CFG(CFG_LATENCY_FLAGS_MOD) \ Loading Loading
Android.mk +2 −0 Original line number Diff line number Diff line Loading @@ -68,7 +68,9 @@ include $(foreach chip, $(TARGET_WLAN_CHIP), $(LOCAL_PATH)/.$(chip)/Android.mk) else # Multi-ok check ifeq ($(WLAN_PROFILE),) WLAN_PROFILE := default endif ifeq ($(LOCAL_DEV_NAME), qcacld-3.0) Loading
components/mlme/core/inc/wlan_mlme_main.h +22 −0 Original line number Diff line number Diff line Loading @@ -250,6 +250,7 @@ struct mscs_req_info { * @last_delba_sent_time: Last delba sent time to handle back to back delba * requests from some IOT APs * @ba_2k_jump_iot_ap: This is set to true if connected to the ba 2k jump IOT AP * @bad_htc_he_iot_ap: Set to true if connected to AP who can't decode htc he */ struct mlme_legacy_priv { bool chan_switch_in_progress; Loading Loading @@ -287,6 +288,7 @@ struct mlme_legacy_priv { #endif qdf_time_t last_delba_sent_time; bool ba_2k_jump_iot_ap; bool bad_htc_he_iot_ap; }; Loading Loading @@ -699,6 +701,26 @@ mlme_set_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id, void mlme_clear_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id); /** * mlme_get_cfg_wlm_level() - Get the WLM level value * @psoc: pointer to psoc object * @level: level that needs to be filled. * * Return: QDF Status */ QDF_STATUS mlme_get_cfg_wlm_level(struct wlan_objmgr_psoc *psoc, uint8_t *level); /** * mlme_get_cfg_wlm_reset() - Get the WLM reset flag * @psoc: pointer to psoc object * @reset: reset that needs to be filled. * * Return: QDF Status */ QDF_STATUS mlme_get_cfg_wlm_reset(struct wlan_objmgr_psoc *psoc, bool *reset); #define MLME_IS_ROAM_STATE_RSO_ENABLED(psoc, vdev_id) \ (mlme_get_roam_state(psoc, vdev_id) == WLAN_ROAM_RSO_ENABLED) Loading
components/mlme/core/src/wlan_mlme_main.c +29 −2 Original line number Diff line number Diff line Loading @@ -794,8 +794,6 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE); qos_aggr_params->sap_uapsd_enabled = cfg_get(psoc, CFG_SAP_QOS_UAPSD); qos_aggr_params->reject_addba_req = cfg_get(psoc, CFG_REJECT_ADDBA_REQ); } static void mlme_init_mbo_cfg(struct wlan_objmgr_psoc *psoc, Loading Loading @@ -2210,6 +2208,7 @@ static void mlme_init_fe_wlm_in_cfg(struct wlan_objmgr_psoc *psoc, struct wlan_mlme_fe_wlm *wlm_config) { wlm_config->latency_enable = cfg_get(psoc, CFG_LATENCY_ENABLE); wlm_config->latency_reset = cfg_get(psoc, CFG_LATENCY_RESET); wlm_config->latency_level = cfg_get(psoc, CFG_LATENCY_LEVEL); wlm_config->latency_flags[0] = cfg_get(psoc, CFG_LATENCY_FLAGS_NORMAL); wlm_config->latency_flags[1] = cfg_get(psoc, CFG_LATENCY_FLAGS_MOD); Loading Loading @@ -2968,6 +2967,34 @@ mlme_clear_operations_bitmap(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id) wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_OBJMGR_ID); } QDF_STATUS mlme_get_cfg_wlm_level(struct wlan_objmgr_psoc *psoc, uint8_t *level) { struct wlan_mlme_psoc_ext_obj *mlme_obj; mlme_obj = mlme_get_psoc_ext_obj(psoc); if (!mlme_obj) return QDF_STATUS_E_FAILURE; *level = mlme_obj->cfg.wlm_config.latency_level; return QDF_STATUS_SUCCESS; } QDF_STATUS mlme_get_cfg_wlm_reset(struct wlan_objmgr_psoc *psoc, bool *reset) { struct wlan_mlme_psoc_ext_obj *mlme_obj; mlme_obj = mlme_get_psoc_ext_obj(psoc); if (!mlme_obj) return QDF_STATUS_E_FAILURE; *reset = mlme_obj->cfg.wlm_config.latency_reset; return QDF_STATUS_SUCCESS; } enum roam_offload_state mlme_get_roam_state(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id) { Loading
components/mlme/dispatcher/inc/cfg_mlme_btm.h +4 −1 Original line number Diff line number Diff line /* * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -89,9 +89,12 @@ * 10, 11 reserved * * BIT 5, 4, 3: Roaming handoff decisions on multiple candidates match * for unsolicited BTM request. * 000 match if exact BSSIDs are found * 001 match if at least one top priority BSSID only * 010, 011, 100, 101, 110, 111 reserved * In case of solicited request intersection of Roam cache/candidates * with candidates in BTM request is taken into consideration. * * BIT 6: Set this to 1 will send BTM query frame and 0 not sent. * Loading
components/mlme/dispatcher/inc/cfg_mlme_fe_wlm.h +20 −2 Original line number Diff line number Diff line /* * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the Loading Loading @@ -52,7 +52,7 @@ * * @min: 0 * @max: 1 * @default: 0 * @default: 1 * * 0 - disable * 1 - enable Loading @@ -63,6 +63,23 @@ 1, \ "WLM latency Enable") /* * <ini> * wlm_latency_reset_on_disconnect - WLM latency level reset on disconnect * * @min: 0 * @max: 1 * @default: 0 * * 0 - disable * 1 - enable * * </ini> */ #define CFG_LATENCY_RESET CFG_INI_BOOL("wlm_latency_reset_on_disconnect", \ 0, \ "WLM latency reset on disconnect") /* * <ini> * wlm_latency_level - WLM latency level Loading Loading @@ -414,6 +431,7 @@ #define CFG_FE_WLM_ALL \ CFG(CFG_LATENCY_ENABLE) \ CFG(CFG_LATENCY_RESET) \ CFG(CFG_LATENCY_LEVEL) \ CFG(CFG_LATENCY_FLAGS_NORMAL) \ CFG(CFG_LATENCY_FLAGS_MOD) \ Loading