diff options
author | Yeshwanth Sriram Guntuka <ysriramg@codeaurora.org> | 2018-02-12 12:24:06 +0530 |
---|---|---|
committer | snandini <snandini@codeaurora.org> | 2018-02-26 06:34:53 -0800 |
commit | 4a2dfa987f8c5a431fd81b1e3074b7ff5a4d7e38 (patch) | |
tree | b5ee8fbd6a1a54b7a5410753864aad36ed1f2d60 /umac | |
parent | 68a824774cc730fcfe99ed9e0aeebac1cb614980 (diff) | |
download | qca-wfi-host-cmn-4a2dfa987f8c5a431fd81b1e3074b7ff5a4d7e38.tar.gz |
qcacmn: Add ini support for channel selection logic
Add ini to select DBS or inter-band MCC channel selection logic
for STA+STA and STA+P2P connections.
Change-Id: I7cfde9592ec210b0a8c812171d2bc6f005e17fb2
CRs-Fixed: 2189845
Diffstat (limited to 'umac')
-rw-r--r-- | umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h | 16 | ||||
-rw-r--r-- | umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c | 9 |
2 files changed, 23 insertions, 2 deletions
diff --git a/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h b/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h index a9886edbc..9399e1416 100644 --- a/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h +++ b/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h @@ -60,6 +60,19 @@ typedef const enum policy_mgr_conc_next_action policy_mgr_next_action_three_connection_table_type [PM_MAX_TWO_CONNECTION_MODE][POLICY_MGR_MAX_BAND]; +#define PM_FW_MODE_STA_STA_BIT_POS 0 +#define PM_FW_MODE_STA_P2P_BIT_POS 1 + +#define PM_FW_MODE_STA_STA_BIT_MASK (0x1 << PM_FW_MODE_STA_STA_BIT_POS) +#define PM_FW_MODE_STA_P2P_BIT_MASK (0x1 << PM_FW_MODE_STA_P2P_BIT_POS) + +#define PM_CHANNEL_SELECT_LOGIC_STA_STA_GET(channel_select_logic_conc) \ + ((channel_select_logic_conc & PM_FW_MODE_STA_STA_BIT_MASK) >> \ + PM_FW_MODE_STA_STA_BIT_POS) +#define PM_CHANNEL_SELECT_LOGIC_STA_P2P_GET(channel_select_logic_conc) \ + ((channel_select_logic_conc & PM_FW_MODE_STA_P2P_BIT_MASK) >> \ + PM_FW_MODE_STA_P2P_BIT_POS) + /** * policy_mgr_set_concurrency_mode() - To set concurrency mode * @psoc: PSOC object data @@ -2025,7 +2038,8 @@ bool policy_mgr_is_dnsc_set(struct wlan_objmgr_vdev *vdev); */ QDF_STATUS policy_mgr_get_updated_scan_and_fw_mode_config( struct wlan_objmgr_psoc *psoc, uint32_t *scan_config, - uint32_t *fw_mode_config, uint32_t dual_mac_disable_ini); + uint32_t *fw_mode_config, uint32_t dual_mac_disable_ini, + uint32_t channel_select_logic_conc); /** * policy_mgr_is_safe_channel - Check if the channel is in LTE diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c index 653bed941..f164df372 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c @@ -2722,7 +2722,8 @@ uint8_t policy_mgr_get_cur_conc_system_pref(struct wlan_objmgr_psoc *psoc) QDF_STATUS policy_mgr_get_updated_scan_and_fw_mode_config( struct wlan_objmgr_psoc *psoc, uint32_t *scan_config, - uint32_t *fw_mode_config, uint32_t dual_mac_disable_ini) + uint32_t *fw_mode_config, uint32_t dual_mac_disable_ini, + uint32_t channel_select_logic_conc) { struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -2754,6 +2755,12 @@ QDF_STATUS policy_mgr_get_updated_scan_and_fw_mode_config( default: break; } + + WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_SET(*fw_mode_config, + PM_CHANNEL_SELECT_LOGIC_STA_STA_GET(channel_select_logic_conc)); + WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_SET(*fw_mode_config, + PM_CHANNEL_SELECT_LOGIC_STA_P2P_GET(channel_select_logic_conc)); + policy_mgr_debug("*scan_config:%x ", *scan_config); policy_mgr_debug("*fw_mode_config:%x ", *fw_mode_config); |