qcacld-3.0: Add EDCA mlme cfg API
Add mlme cfg api functions to get EDCA parameters. Also remove the legacy CFG item definitions. Change-Id: I075240279e2cf3fda4424b77b7cfcf50ac9619f4 CRs-Fixed: 2316205
This commit is contained in:

committed by
Nitesh Shrivastav

parent
5f45a5aaea
commit
cfbc6f703c
@@ -25,6 +25,35 @@
|
||||
#include "wma_types.h"
|
||||
#include "wmi_unified.h"
|
||||
|
||||
QDF_STATUS wlan_mlme_get_cfg_str(uint8_t *dst, struct mlme_cfg_str *cfg_str,
|
||||
qdf_size_t *len)
|
||||
{
|
||||
if (*len < cfg_str->len) {
|
||||
mlme_err("Invalid len %zd", *len);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*len = cfg_str->len;
|
||||
qdf_mem_copy(dst, cfg_str->data, *len);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_set_cfg_str(uint8_t *src, struct mlme_cfg_str *dst_cfg_str,
|
||||
qdf_size_t len)
|
||||
{
|
||||
if (len > dst_cfg_str->max_len) {
|
||||
mlme_err("Invalid len %zd (>%zd)", len,
|
||||
dst_cfg_str->max_len);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
dst_cfg_str->len = len;
|
||||
qdf_mem_copy(dst_cfg_str->data, src, len);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_ht_cap_info(struct wlan_objmgr_psoc *psoc,
|
||||
struct mlme_ht_capabilities_info
|
||||
*ht_cap_info)
|
||||
@@ -518,3 +547,135 @@ QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
|
||||
mlme_obj->cfg.oce.enable_bcast_probe_rsp = value;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_edca_params(struct wlan_mlme_edca_params *edca_params,
|
||||
uint8_t *data, enum e_edca_type edca_ac)
|
||||
{
|
||||
qdf_size_t len;
|
||||
|
||||
switch (edca_ac) {
|
||||
case edca_ani_acbe_local:
|
||||
len = edca_params->ani_acbe_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acbe_l, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acbk_local:
|
||||
len = edca_params->ani_acbk_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acbk_l, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acvi_local:
|
||||
len = edca_params->ani_acvi_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acvi_l, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acvo_local:
|
||||
len = edca_params->ani_acvo_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acvo_l, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acbk_bcast:
|
||||
len = edca_params->ani_acbk_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acbk_b, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acbe_bcast:
|
||||
len = edca_params->ani_acbe_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acbe_b, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acvi_bcast:
|
||||
len = edca_params->ani_acvi_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acvi_b, &len);
|
||||
break;
|
||||
|
||||
case edca_ani_acvo_bcast:
|
||||
len = edca_params->ani_acvo_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->ani_acvo_b, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acbe_local:
|
||||
len = edca_params->wme_acbe_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acbe_l, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acbk_local:
|
||||
len = edca_params->wme_acbk_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acbk_l, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acvi_local:
|
||||
len = edca_params->wme_acvi_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acvi_l, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acvo_local:
|
||||
len = edca_params->wme_acvo_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acvo_l, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acbe_bcast:
|
||||
len = edca_params->wme_acbe_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acbe_b, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acbk_bcast:
|
||||
len = edca_params->wme_acbk_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acbk_b, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acvi_bcast:
|
||||
len = edca_params->wme_acvi_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acvi_b, &len);
|
||||
break;
|
||||
|
||||
case edca_wme_acvo_bcast:
|
||||
len = edca_params->wme_acvo_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->wme_acvo_b, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acbe_local:
|
||||
len = edca_params->etsi_acbe_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acbe_l, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acbk_local:
|
||||
len = edca_params->etsi_acbk_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acbk_l, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acvi_local:
|
||||
len = edca_params->etsi_acvi_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acvi_l, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acvo_local:
|
||||
len = edca_params->etsi_acvo_l.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acvo_l, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acbe_bcast:
|
||||
len = edca_params->etsi_acbe_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acbe_b, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acbk_bcast:
|
||||
len = edca_params->etsi_acbk_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acbk_b, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acvi_bcast:
|
||||
len = edca_params->etsi_acvi_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acvi_b, &len);
|
||||
break;
|
||||
|
||||
case edca_etsi_acvo_bcast:
|
||||
len = edca_params->etsi_acvo_b.len;
|
||||
wlan_mlme_get_cfg_str(data, &edca_params->etsi_acvo_b, &len);
|
||||
break;
|
||||
default:
|
||||
mlme_err("Invalid edca access category");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user