qcacld-3.0: Convert ap policy config vendor cmd to host enum

Userspace provide below vendor attribute for low latency sap
concurrency
a. QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG

This userspace uses the below value defined in enum
qca_wlan_concurrent_ap_policy_config to specify concurrency
policy
a. QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED = 0,
b. QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO = 1,
c. QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING = 2,

Convert this above enum value in host to use in concurrency
scenario.

Change-Id: Ibab06f528fd99d8c421376bd02e4c748e9556b70
CRs-Fixed: 3302418
This commit is contained in:
Jyoti Kumari
2022-08-24 01:39:51 +05:30
committed by Madan Koyyalamudi
parent 0a948adea9
commit f0ddb3ec45
6 changed files with 232 additions and 48 deletions

View File

@@ -286,6 +286,56 @@ QDF_STATUS wlan_mlme_get_dual_sta_policy(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
enum host_concurrent_ap_policy
wlan_mlme_convert_ap_policy_config(
enum qca_wlan_concurrent_ap_policy_config ap_config)
{
switch (ap_config) {
case QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED:
return HOST_CONCURRENT_AP_POLICY_UNSPECIFIED;
case QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO:
return HOST_CONCURRENT_AP_POLICY_GAMING_AUDIO;
case QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING:
return HOST_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING;
default:
return HOST_CONCURRENT_AP_POLICY_UNSPECIFIED;
}
}
QDF_STATUS wlan_mlme_set_ap_policy(struct wlan_objmgr_vdev *vdev,
enum host_concurrent_ap_policy ap_cfg_policy)
{
struct mlme_legacy_priv *mlme_priv;
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
if (!mlme_priv) {
mlme_legacy_err("vdev legacy private object is NULL");
return QDF_STATUS_E_FAILURE;
}
mlme_priv->mlme_ap.ap_policy = ap_cfg_policy;
mlme_debug("Set ap_cfg_policy to :%d", mlme_priv->mlme_ap.ap_policy);
return QDF_STATUS_SUCCESS;
}
enum host_concurrent_ap_policy
wlan_mlme_get_ap_policy(struct wlan_objmgr_vdev *vdev)
{
struct mlme_legacy_priv *mlme_priv;
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
if (!mlme_priv) {
mlme_legacy_err("vdev legacy private object is NULL");
return HOST_CONCURRENT_AP_POLICY_UNSPECIFIED;
}
mlme_debug("Get ap_cfg_policy to :%d", mlme_priv->mlme_ap.ap_policy);
return mlme_priv->mlme_ap.ap_policy;
}
QDF_STATUS wlan_mlme_get_prevent_link_down(struct wlan_objmgr_psoc *psoc,
bool *prevent_link_down)
{