qcacld-3.0: Move multi-client caps get API to the dispatcher

Move wlan_mlme_get_wlm_multi_client_ll_caps API to dispatcher
folder so that other components would use this API to get
the multi-client feature capability flag.

Change-Id: Ib247401b9411c40a838b338a60d44cb187884480
CRs-Fixed: 3181381
This commit is contained in:
abhinav kumar
2022-04-27 20:25:39 +05:30
committed by Madan Koyyalamudi
parent e8e5f094f1
commit 29c9f12209
9 changed files with 31 additions and 30 deletions

View File

@@ -1025,15 +1025,6 @@ QDF_STATUS mlme_get_cfg_wlm_level(struct wlan_objmgr_psoc *psoc,
uint8_t *level); uint8_t *level);
#ifdef MULTI_CLIENT_LL_SUPPORT #ifdef MULTI_CLIENT_LL_SUPPORT
/**
* wlan_mlme_get_wlm_multi_client_ll_caps() - Get the wlm multi client latency
* level capability flag
* @psoc: pointer to psoc object
*
* Return: True is multi client ll cap present
*/
bool wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc);
/** /**
* mlme_get_cfg_multi_client_ll_ini_support() - Get the ini value of wlm multi * mlme_get_cfg_multi_client_ll_ini_support() - Get the ini value of wlm multi
* client latency level feature * client latency level feature
@@ -1046,12 +1037,6 @@ QDF_STATUS
mlme_get_cfg_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc, mlme_get_cfg_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc,
bool *multi_client_ll_support); bool *multi_client_ll_support);
#else #else
static inline bool
wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc)
{
return false;
}
static inline QDF_STATUS static inline QDF_STATUS
mlme_get_cfg_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc, mlme_get_cfg_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc,
bool *multi_client_ll_support) bool *multi_client_ll_support)

View File

@@ -2300,13 +2300,6 @@ mlme_get_cfg_multi_client_ll_ini_support(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
bool wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc)
{
return wlan_psoc_nif_fw_ext2_cap_get(psoc,
WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT);
}
#else #else
static inline void static inline void
mlme_init_wlm_multi_client_ll_support(struct wlan_objmgr_psoc *psoc, mlme_init_wlm_multi_client_ll_support(struct wlan_objmgr_psoc *psoc,

View File

@@ -261,6 +261,23 @@ QDF_STATUS wlan_mlme_set_ht_mpdu_density(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_get_band_capability(struct wlan_objmgr_psoc *psoc, QDF_STATUS wlan_mlme_get_band_capability(struct wlan_objmgr_psoc *psoc,
uint32_t *band_capability); uint32_t *band_capability);
#ifdef MULTI_CLIENT_LL_SUPPORT
/**
* wlan_mlme_get_wlm_multi_client_ll_caps() - Get the wlm multi client latency
* level capability flag
* @psoc: pointer to psoc object
*
* Return: True is multi client ll cap present
*/
bool wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc);
#else
static inline bool
wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc)
{
return false;
}
#endif
/** /**
* wlan_mlme_set_band_capability() - Set the Band capability config * wlan_mlme_set_band_capability() - Set the Band capability config
* @psoc: pointer to psoc object * @psoc: pointer to psoc object

View File

@@ -205,6 +205,14 @@ QDF_STATUS wlan_mlme_set_ht_mpdu_density(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#ifdef MULTI_CLIENT_LL_SUPPORT
bool wlan_mlme_get_wlm_multi_client_ll_caps(struct wlan_objmgr_psoc *psoc)
{
return wlan_psoc_nif_fw_ext2_cap_get(psoc,
WLAN_SOC_WLM_MULTI_CLIENT_LL_SUPPORT);
}
#endif
QDF_STATUS wlan_mlme_get_band_capability(struct wlan_objmgr_psoc *psoc, QDF_STATUS wlan_mlme_get_band_capability(struct wlan_objmgr_psoc *psoc,
uint32_t *band_capability) uint32_t *band_capability)
{ {

View File

@@ -9099,8 +9099,7 @@ QDF_STATUS wlan_hdd_set_wlm_latency_level(struct hdd_adapter *adapter,
goto err; goto err;
} }
hdd_debug("[MULTI_CLIENT] latency received from FW:%d", hdd_debug("latency level received from FW:%d", priv->latency_level);
priv->latency_level);
adapter->latency_level = priv->latency_level; adapter->latency_level = priv->latency_level;
err: err:
if (request) if (request)

View File

@@ -391,8 +391,7 @@ static void hdd_cm_set_default_wlm_mode(struct hdd_adapter *adapter)
if (hdd_get_multi_client_ll_support(adapter)) { if (hdd_get_multi_client_ll_support(adapter)) {
client_id_bitmap = wlan_hdd_get_client_id_bitmap(adapter); client_id_bitmap = wlan_hdd_get_client_id_bitmap(adapter);
hdd_debug("[MULTI_CLIENT] client_id_bitmap: 0x%x", hdd_debug("client_id_bitmap: 0x%x", client_id_bitmap);
client_id_bitmap);
status = wlan_hdd_set_wlm_latency_level(adapter, def_level, status = wlan_hdd_set_wlm_latency_level(adapter, def_level,
client_id_bitmap, true); client_id_bitmap, true);
wlan_hdd_deinit_multi_client_info_table(adapter); wlan_hdd_deinit_multi_client_info_table(adapter);

View File

@@ -5695,7 +5695,7 @@ static void hdd_set_multi_client_ll_support(struct hdd_adapter *adapter)
multi_client_ll_caps = multi_client_ll_caps =
ucfg_mlme_get_wlm_multi_client_ll_caps(hdd_ctx->psoc); ucfg_mlme_get_wlm_multi_client_ll_caps(hdd_ctx->psoc);
hdd_debug("[MULTI_CLIENT] fw caps: %d, ini: %d", multi_client_ll_caps, hdd_debug("fw caps: %d, ini: %d", multi_client_ll_caps,
multi_client_ll_ini_support); multi_client_ll_ini_support);
if (multi_client_ll_caps && multi_client_ll_ini_support) if (multi_client_ll_caps && multi_client_ll_ini_support)
adapter->multi_client_ll_support = true; adapter->multi_client_ll_support = true;
@@ -12532,7 +12532,7 @@ void wlan_hdd_deinit_multi_client_info_table(struct hdd_adapter *adapter)
{ {
uint8_t i; uint8_t i;
hdd_debug("[MULTI_LL] deinitializing the client info table"); hdd_debug("deinitializing the client info table");
/* de-initialize the table for host driver client */ /* de-initialize the table for host driver client */
for (i = 0; i < WLM_MAX_HOST_CLIENT; i++) { for (i = 0; i < WLM_MAX_HOST_CLIENT; i++) {
if (adapter->client_info[i].in_use) { if (adapter->client_info[i].in_use) {

View File

@@ -2707,7 +2707,7 @@ static QDF_STATUS wma_set_vdev_latency_level_param(tp_wma_handle wma_handle,
mac->mlme_cfg->wlm_config.multi_client_ll_support; mac->mlme_cfg->wlm_config.multi_client_ll_support;
multi_client_ll_caps = multi_client_ll_caps =
wlan_mlme_get_wlm_multi_client_ll_caps(mac->psoc); wlan_mlme_get_wlm_multi_client_ll_caps(mac->psoc);
wma_debug("[MULTI_CLIENT] INI support: %d, fw capability:%d", wma_debug("INI support: %d, fw capability:%d",
multi_client_ll_ini_support, multi_client_ll_caps); multi_client_ll_ini_support, multi_client_ll_caps);
/* /*
* Multi-Client arbiter functionality is enabled only if both INI is * Multi-Client arbiter functionality is enabled only if both INI is

View File

@@ -4886,7 +4886,7 @@ int wma_latency_level_event_handler(void *wma_ctx, uint8_t *event_buff,
event_data.vdev_id = event->vdev_id; event_data.vdev_id = event->vdev_id;
event_data.latency_level = event->latency_level; event_data.latency_level = event->latency_level;
wma_debug("[MULTI_CLIENT]received event latency level :%d, vdev_id:%d", wma_debug("received event latency level :%d, vdev_id:%d",
event->latency_level, event->vdev_id); event->latency_level, event->vdev_id);
pmac->sme.latency_level_event_handler_cb(&event_data, pmac->sme.latency_level_event_handler_cb(&event_data,
event->vdev_id); event->vdev_id);