From a0bd216fc8d516cd74948120a9135b9377c133b9 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Dhanotiya Date: Wed, 21 Jun 2023 16:48:31 +0530 Subject: [PATCH] qcacmn: Add support for LL_LT_SAP_MODE in policy mgr Currently PM_LL_LT_SAP_MODE is not handled in policy manager. With this change add support for PM_LL_LT_SAP_MODE in the policy manager. Change-Id: I7b893b04498957eb4a7e9f74c4b4395d4a823bf9 CRs-Fixed: 3536612 --- os_if/linux/scan/src/wlan_cfg80211_scan.c | 13 ++---------- umac/dcs/core/src/wlan_dcs.c | 9 +++++--- .../connection_mgr/core/src/wlan_cm_util.c | 21 ++++++++----------- umac/scan/dispatcher/src/wlan_scan_api.c | 7 +------ 4 files changed, 18 insertions(+), 32 deletions(-) diff --git a/os_if/linux/scan/src/wlan_cfg80211_scan.c b/os_if/linux/scan/src/wlan_cfg80211_scan.c index c7a7da4ae2..7d79114b88 100644 --- a/os_if/linux/scan/src/wlan_cfg80211_scan.c +++ b/os_if/linux/scan/src/wlan_cfg80211_scan.c @@ -280,12 +280,7 @@ static void wlan_cfg80211_pno_callback(struct wlan_objmgr_vdev *vdev, #ifdef WLAN_POLICY_MGR_ENABLE static bool wlan_cfg80211_is_ap_go_present(struct wlan_objmgr_psoc *psoc) { - return policy_mgr_mode_specific_connection_count(psoc, - PM_SAP_MODE, - NULL) || - policy_mgr_mode_specific_connection_count(psoc, - PM_P2P_GO_MODE, - NULL); + return policy_mgr_get_beaconing_mode_count(psoc, NULL); } static QDF_STATUS wlan_cfg80211_is_chan_ok_for_dnbs( @@ -1622,11 +1617,7 @@ int wlan_cfg80211_scan(struct wlan_objmgr_vdev *vdev, if (request->n_channels) { #ifdef WLAN_POLICY_MGR_ENABLE - bool ap_or_go_present = - policy_mgr_mode_specific_connection_count( - psoc, PM_SAP_MODE, NULL) || - policy_mgr_mode_specific_connection_count( - psoc, PM_P2P_GO_MODE, NULL); + bool ap_or_go_present = wlan_cfg80211_is_ap_go_present(psoc); #endif for (i = 0; i < request->n_channels; i++) { c_freq = request->channels[i]->center_freq; diff --git a/umac/dcs/core/src/wlan_dcs.c b/umac/dcs/core/src/wlan_dcs.c index ba4d92218d..af03e11f66 100644 --- a/umac/dcs/core/src/wlan_dcs.c +++ b/umac/dcs/core/src/wlan_dcs.c @@ -758,6 +758,7 @@ static uint32_t wlan_dcs_get_pcl_for_sap(struct wlan_objmgr_vdev *vdev, enum channel_state state; QDF_STATUS status; int i, j; + enum policy_mgr_con_mode mode; psoc = wlan_vdev_get_psoc(vdev); if (!psoc) @@ -771,9 +772,11 @@ static uint32_t wlan_dcs_get_pcl_for_sap(struct wlan_objmgr_vdev *vdev, if (!pcl) return 0; - status = policy_mgr_get_pcl_for_vdev_id(psoc, - PM_SAP_MODE, - pcl->pcl_list, &pcl->pcl_len, + mode = policy_mgr_qdf_opmode_to_pm_con_mode(psoc, QDF_SAP_MODE, + wlan_vdev_get_id(vdev)); + + status = policy_mgr_get_pcl_for_vdev_id(psoc, mode, pcl->pcl_list, + &pcl->pcl_len, pcl->weight_list, QDF_ARRAY_SIZE(pcl->weight_list), wlan_vdev_get_id(vdev)); diff --git a/umac/mlme/connection_mgr/core/src/wlan_cm_util.c b/umac/mlme/connection_mgr/core/src/wlan_cm_util.c index 94cd111bf3..310a5cc88a 100644 --- a/umac/mlme/connection_mgr/core/src/wlan_cm_util.c +++ b/umac/mlme/connection_mgr/core/src/wlan_cm_util.c @@ -1752,8 +1752,6 @@ cm_get_pcl_chan_weigtage_for_sta(struct wlan_objmgr_pdev *pdev, struct pcl_freq_weight_list *pcl_lst, struct wlan_objmgr_vdev *vdev) { - enum QDF_OPMODE opmode = QDF_STA_MODE; - enum policy_mgr_con_mode pm_mode; uint32_t num_entries = 0; uint8_t vdev_id; QDF_STATUS status; @@ -1763,16 +1761,15 @@ cm_get_pcl_chan_weigtage_for_sta(struct wlan_objmgr_pdev *pdev, vdev_id = wlan_vdev_get_id(vdev); - if (policy_mgr_map_concurrency_mode(&opmode, &pm_mode)) { - status = policy_mgr_get_pcl(wlan_pdev_get_psoc(pdev), pm_mode, - pcl_lst->pcl_freq_list, - &num_entries, - pcl_lst->pcl_weight_list, - NUM_CHANNELS, vdev_id); - if (QDF_IS_STATUS_ERROR(status)) - return; - pcl_lst->num_of_pcl_channels = num_entries; - } + status = policy_mgr_get_pcl(wlan_pdev_get_psoc(pdev), + PM_STA_MODE, + pcl_lst->pcl_freq_list, + &num_entries, + pcl_lst->pcl_weight_list, + NUM_CHANNELS, vdev_id); + if (QDF_IS_STATUS_ERROR(status)) + return; + pcl_lst->num_of_pcl_channels = num_entries; } void cm_calculate_scores(struct cnx_mgr *cm_ctx, diff --git a/umac/scan/dispatcher/src/wlan_scan_api.c b/umac/scan/dispatcher/src/wlan_scan_api.c index 098cb52b1d..870fd6cb78 100644 --- a/umac/scan/dispatcher/src/wlan_scan_api.c +++ b/umac/scan/dispatcher/src/wlan_scan_api.c @@ -178,12 +178,7 @@ void wlan_scan_update_pno_dwell_time(struct wlan_objmgr_vdev *vdev, if (!psoc) return; - sap_or_p2p_present = policy_mgr_mode_specific_connection_count - (psoc, - PM_SAP_MODE, NULL) || - policy_mgr_mode_specific_connection_count - (psoc, - PM_P2P_GO_MODE, NULL) || + sap_or_p2p_present = policy_mgr_get_beaconing_mode_count(psoc, NULL) || policy_mgr_mode_specific_connection_count (psoc, PM_P2P_CLIENT_MODE, NULL);