qcacld-3.0: ADD MLME INI item of WMM Config

Add the WMM config ini config
CFG_TL_DELAYED_TRGR_FRM_INT_NAME to MLME cfg.

Introduce the basic infra APIs related to these configs
from mlme.

Change-Id: Ifaf8072a78f21760e00973e625d7c8e41d8b51a6
CRs-Fixed: 2361533
This commit is contained in:
Abhinav Kumar
2018-12-05 15:17:39 +05:30
committed by nshrivas
parent bd0026b82c
commit 943f712209
8 changed files with 78 additions and 31 deletions

View File

@@ -1943,6 +1943,9 @@ static void mlme_init_wmm_in_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_QOS_WMM_TS_INFO_ACK_POLICY);
wmm_params->wmm_tspec_element.ts_acm_is_off =
cfg_get(psoc, CFG_QOS_ADDTS_WHEN_ACM_IS_OFF);
wmm_params->delayed_trigger_frm_int =
cfg_get(psoc, CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
}
static void mlme_init_wps_params_cfg(struct wlan_objmgr_psoc *psoc,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -960,6 +960,29 @@
0, \
"ACM value for AC")
/*
* <ini>
* DelayedTriggerFrmInt - UAPSD delay interval
* @Min: 1
* @Max: 4294967295
* @Default: 3000
*
* This parameter controls the delay interval(in ms) of UAPSD auto trigger.
*
* Supported Feature: WMM
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_TL_DELAYED_TRGR_FRM_INTERVAL CFG_INI_UINT( \
"DelayedTriggerFrmInt", \
1, \
4294967295UL, \
3000, \
CFG_VALUE_OR_DEFAULT, \
"UAPSD auto trigger Interval")
#define CFG_WMM_PARAMS_ALL \
CFG(CFG_QOS_ENABLED) \
CFG(CFG_WME_ENABLED) \
@@ -1001,6 +1024,7 @@
QOS_CFG \
CFG(CFG_QOS_WMM_BURST_SIZE_DEFN) \
CFG(CFG_QOS_WMM_TS_INFO_ACK_POLICY) \
CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF)
CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF) \
CFG(CFG_TL_DELAYED_TRGR_FRM_INTERVAL)
#endif /* __CFG_MLME_FE_WMM_H */

View File

@@ -896,6 +896,17 @@ QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
bool value);
/**
* wlan_mlme_get_tl_delayed_trgr_frm_int() - Get delay interval(in ms)
* of UAPSD auto trigger
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: None
*/
void wlan_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
uint32_t *value);
/**
* wlan_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction
* for VI

View File

@@ -1530,6 +1530,7 @@ struct wlan_mlme_wmm_ac_bk {
* @ac_vi: Default TSPEC parameters for AC_VI
* @ac_be: Default TSPEC parameters for AC_BE
* @ac_bk: Default TSPEC parameters for AC_BK
* @delayed_trigger_frm_int: delay int(in ms) of UAPSD auto trigger
*/
struct wlan_mlme_wmm_params {
bool qos_enabled;
@@ -1543,6 +1544,7 @@ struct wlan_mlme_wmm_params {
struct wlan_mlme_wmm_ac_vi ac_vi;
struct wlan_mlme_wmm_ac_be ac_be;
struct wlan_mlme_wmm_ac_bk ac_bk;
uint32_t delayed_trigger_frm_int;
};
/**

View File

@@ -2679,6 +2679,23 @@ QDF_STATUS ucfg_mlme_ibss_power_save_setup(struct wlan_objmgr_psoc *psoc,
return wlan_mlme_ibss_power_save_setup(psoc, vdev_id);
}
/**
* ucfg_mlme_get_tl_delayed_trgr_frm_int() - Get delay interval(in ms)
* of UAPSD auto trigger.
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: None
*/
static inline
void ucfg_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
wlan_mlme_get_tl_delayed_trgr_frm_int(psoc, value);
}
/**
* ucfg_mlme_get_wmm_dir_ac_vi() - Get TSPEC direction
* for VI

View File

@@ -976,6 +976,22 @@ wlan_mlme_get_manufacture_product_name(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
void wlan_mlme_get_tl_delayed_trgr_frm_int(struct wlan_objmgr_psoc *psoc,
uint32_t *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
*value = cfg_default(CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
return;
}
*value = mlme_obj->cfg.wmm_params.delayed_trigger_frm_int;
}
QDF_STATUS wlan_mlme_get_wmm_dir_ac_vo(struct wlan_objmgr_psoc *psoc,
uint8_t *value)
{

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -702,31 +702,6 @@
CFG_VALUE_OR_DEFAULT, \
"Timer to defer for enabling TDLS on P2P listen")
/*
* <ini>
* DelayedTriggerFrmInt - delayed trigger frame interval.
* @Min: 500
* @Max: 6000
* @Default: 2000
*
* This ini is used to set the delayed trigger frame interval.
*
* Related: gEnableTDLSSupport.
*
* Supported Feature: TDLS
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_TDLS_DELAYED_TRGR_FRM_INT CFG_INI_UINT( \
"DelayedTriggerFrmInt", \
1, \
4294967295UL, \
3000, \
CFG_VALUE_OR_DEFAULT, \
"delayed trigger frame interval")
#define CFG_TDLS_ALL \
CFG(CFG_TDLS_QOS_WMM_UAPSD_MASK) \
CFG(CFG_TDLS_BUF_STA_ENABLED) \
@@ -753,7 +728,6 @@
CFG(CFG_TDLS_WMM_MODE_ENABLE) \
CFG(CFG_TDLS_SCAN_ENABLE) \
CFG(CFG_TDLS_PEER_KICKOUT_THRESHOLD) \
CFG(CFG_TDLS_ENABLE_DEFER_TIMER) \
CFG(CFG_TDLS_DELAYED_TRGR_FRM_INT)
CFG(CFG_TDLS_ENABLE_DEFER_TIMER)
#endif

View File

@@ -201,7 +201,7 @@ static QDF_STATUS tdls_object_init_params(
tdls_soc_obj->tdls_configs.tdls_peer_kickout_threshold =
cfg_get(psoc, CFG_TDLS_PEER_KICKOUT_THRESHOLD);
tdls_soc_obj->tdls_configs.delayed_trig_framint =
cfg_get(psoc, CFG_TDLS_DELAYED_TRGR_FRM_INT);
cfg_get(psoc, CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
tdls_soc_obj->tdls_configs.tdls_wmm_mode_enable =
cfg_get(psoc, CFG_TDLS_WMM_MODE_ENABLE);
tdls_soc_obj->tdls_configs.tdls_off_chan_enable =