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
Esse commit está contido em:

commit de
Rahul Choudhary

pai
a9e5f6f098
commit
a0bd216fc8
@@ -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;
|
||||
|
@@ -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));
|
||||
|
@@ -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,
|
||||
|
@@ -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);
|
||||
|
Referência em uma nova issue
Block a user