diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c index 9f74d493eb41..f23a4c8ff8c2 100644 --- a/components/mlme/core/src/wlan_mlme_main.c +++ b/components/mlme/core/src/wlan_mlme_main.c @@ -493,7 +493,8 @@ static void mlme_init_edca_ani_cfg(struct wlan_mlme_edca_params *edca_params) &edca_params->ani_acvo_b.len); } -static void mlme_init_edca_wme_cfg(struct wlan_mlme_edca_params *edca_params) +static void mlme_init_edca_wme_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_edca_params *edca_params) { /* initialize the max allowed array length for read/write */ edca_params->wme_acbk_l.max_len = CFG_EDCA_DATA_LEN; @@ -507,22 +508,22 @@ static void mlme_init_edca_wme_cfg(struct wlan_mlme_edca_params *edca_params) edca_params->wme_acvo_b.max_len = CFG_EDCA_DATA_LEN; /* parse the WME edca parameters from cfg string for BK,BE,VI,VO ac */ - qdf_uint8_array_parse(cfg_default(CFG_EDCA_WME_ACBK_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_WME_ACBK_LOCAL), edca_params->wme_acbk_l.data, CFG_EDCA_DATA_LEN, &edca_params->wme_acbk_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_WME_ACBE_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_WME_ACBE_LOCAL), edca_params->wme_acbe_l.data, CFG_EDCA_DATA_LEN, &edca_params->wme_acbe_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_WME_ACVI_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_WME_ACVI_LOCAL), edca_params->wme_acvi_l.data, CFG_EDCA_DATA_LEN, &edca_params->wme_acvi_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_WME_ACVO_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_WME_ACVO_LOCAL), edca_params->wme_acvo_l.data, CFG_EDCA_DATA_LEN, &edca_params->wme_acvo_l.len); @@ -548,7 +549,8 @@ static void mlme_init_edca_wme_cfg(struct wlan_mlme_edca_params *edca_params) &edca_params->wme_acvo_b.len); } -static void mlme_init_edca_etsi_cfg(struct wlan_mlme_edca_params *edca_params) +static void mlme_init_edca_etsi_cfg(struct wlan_objmgr_psoc *psoc, + struct wlan_mlme_edca_params *edca_params) { /* initialize the max allowed array length for read/write */ edca_params->etsi_acbe_l.max_len = CFG_EDCA_DATA_LEN; @@ -562,22 +564,22 @@ static void mlme_init_edca_etsi_cfg(struct wlan_mlme_edca_params *edca_params) edca_params->etsi_acvo_b.max_len = CFG_EDCA_DATA_LEN; /* parse the ETSI edca parameters from cfg string for BK,BE,VI,VO ac */ - qdf_uint8_array_parse(cfg_default(CFG_EDCA_ETSI_ACBK_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_ETSI_ACBK_LOCAL), edca_params->etsi_acbk_l.data, CFG_EDCA_DATA_LEN, &edca_params->etsi_acbk_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_ETSI_ACBE_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_ETSI_ACBE_LOCAL), edca_params->etsi_acbe_l.data, CFG_EDCA_DATA_LEN, &edca_params->etsi_acbe_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_ETSI_ACVI_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_ETSI_ACVI_LOCAL), edca_params->etsi_acvi_l.data, CFG_EDCA_DATA_LEN, &edca_params->etsi_acvi_l.len); - qdf_uint8_array_parse(cfg_default(CFG_EDCA_ETSI_ACVO_LOCAL), + qdf_uint8_array_parse(cfg_get(psoc, CFG_EDCA_ETSI_ACVO_LOCAL), edca_params->etsi_acvo_l.data, CFG_EDCA_DATA_LEN, &edca_params->etsi_acvo_l.len); @@ -643,8 +645,8 @@ static void mlme_init_edca_params(struct wlan_objmgr_psoc *psoc, struct wlan_mlme_edca_params *edca_params) { mlme_init_edca_ani_cfg(edca_params); - mlme_init_edca_wme_cfg(edca_params); - mlme_init_edca_etsi_cfg(edca_params); + mlme_init_edca_wme_cfg(psoc, edca_params); + mlme_init_edca_etsi_cfg(psoc, edca_params); mlme_init_qos_edca_params(psoc, edca_params); } diff --git a/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h b/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h index ece0a8de019e..1168eec4f14a 100644 --- a/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h +++ b/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h @@ -106,7 +106,31 @@ #define STR_EDCA_WME_ACBK_LOCAL "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0" #define STR_EDCA_WME_ACBK_LOCAL_LEN (sizeof(STR_EDCA_WME_ACBK_LOCAL) - 1) -#define CFG_EDCA_WME_ACBK_LOCAL CFG_STRING( \ +/* + * + * edca_wme_acbk_local - Set EDCA parameters for WME local AC BK + * @Default: 0x0,0x7,0x0,0xf,0x3,0xff,0x0,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x3, + * 0xff,0x0 + * + * This ini is used to set EDCA parameters for WME AC BK that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_WME_ACBK_LOCAL CFG_INI_STRING( \ "edca_wme_acbk_local", \ 0, \ STR_EDCA_WME_ACBK_LOCAL_LEN, \ @@ -116,7 +140,31 @@ #define STR_EDCA_WME_ACBE_LOCAL "0x0, 0x3, 0x0, 0xf, 0x0, 0x3f, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x0, 0x3f, 0x0" #define STR_EDCA_WME_ACBE_LOCAL_LEN (sizeof(STR_EDCA_WME_ACBE_LOCAL) - 1) -#define CFG_EDCA_WME_ACBE_LOCAL CFG_STRING( \ +/* + * + * edca_wme_acbe_local - Set EDCA parameters for WME local AC BE + * @Default: 0x0,0x3,0x0,0xf,0x0,0x3f,0x0,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x0, + * 0x3f,0x0 + * + * This ini is used to set EDCA parameters for WME AC BE that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_WME_ACBE_LOCAL CFG_INI_STRING( \ "edca_wme_acbe_local", \ 0, \ STR_EDCA_WME_ACBE_LOCAL_LEN, \ @@ -126,7 +174,31 @@ #define STR_EDCA_WME_ACVI_LOCAL "0x0, 0x1, 0x0, 0x7, 0x0, 0xf, 0x5e, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e" #define STR_EDCA_WME_ACVI_LOCAL_LEN (sizeof(STR_EDCA_WME_ACVI_LOCAL) - 1) -#define CFG_EDCA_WME_ACVI_LOCAL CFG_STRING( \ +/* + * + * edca_wme_acvi_local - Set EDCA parameters for WME AC VI + * @Default: 0x0,0x1,0x0,0x7,0x0,0xf,0x5e,0x0,0x7,0x0,0xf,0xbc,0x0,0x7,0x0,0xf, + * 0x5e + * + * This ini is used to set EDCA parameters for WME AC VI that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_WME_ACVI_LOCAL CFG_INI_STRING( \ "edca_wme_acvi_local", \ 0, \ STR_EDCA_WME_ACVI_LOCAL_LEN, \ @@ -136,7 +208,31 @@ #define STR_EDCA_WME_ACVO_LOCAL "0x0, 0x1, 0x0, 0x3, 0x0, 0x7, 0x2f, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f" #define STR_EDCA_WME_ACVO_LOCAL_LEN (sizeof(STR_EDCA_WME_ACVO_LOCAL) - 1) -#define CFG_EDCA_WME_ACVO_LOCAL CFG_STRING( \ +/* + * + * edca_wme_acvo_local - Set EDCA parameters for WME AC VO + * @Default: 0x0,0x1,0x0,0x3,0x0,0x7,0x2f,0x0,0x3,0x0,0x7,0x66,0x0,0x3,0x0,0x7, + * 0x2f + * + * This ini is used to set EDCA parameters for WME AC VO that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_WME_ACVO_LOCAL CFG_INI_STRING( \ "edca_wme_acvo_local", \ 0, \ STR_EDCA_WME_ACVO_LOCAL_LEN, \ @@ -186,7 +282,31 @@ #define STR_EDCA_ETSI_ACBK_LOCAL "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0xbb, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0" #define STR_EDCA_ETSI_ACBK_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACBK_LOCAL) - 1) -#define CFG_EDCA_ETSI_ACBK_LOCAL CFG_STRING( \ +/* + * + * edca_etsi_acbk_local - Set EDCA parameters for ETSI local AC BK + * @Default: 0x0,0x7,0x0,0xf,0x3,0xff,0xbb,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x3, + * 0xff,0x0 + * + * This ini is used to set EDCA parameters for ETSI AC BK that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_ETSI_ACBK_LOCAL CFG_INI_STRING( \ "edca_etsi_acbk_local", \ 0, \ STR_EDCA_ETSI_ACBK_LOCAL_LEN, \ @@ -196,7 +316,31 @@ #define STR_EDCA_ETSI_ACBE_LOCAL "0x0, 0x3, 0x0, 0xf, 0x0, 0x3f, 0xbb, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x0, 0x3f, 0x0" #define STR_EDCA_ETSI_ACBE_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACBE_LOCAL) - 1) -#define CFG_EDCA_ETSI_ACBE_LOCAL CFG_STRING( \ +/* + * + * edca_etsi_acbe_local - Set EDCA parameters for ETSI local AC BE + * @Default: 0x0,0x3,0x0,0xf,0x0,0x3f,0xbb,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x0, + * 0x3f,0x0 + * + * This ini is used to set EDCA parameters for ETSI AC BE that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_ETSI_ACBE_LOCAL CFG_INI_STRING( \ "edca_etsi_acbe_local", \ 0, \ STR_EDCA_ETSI_ACBE_LOCAL_LEN, \ @@ -206,7 +350,31 @@ #define STR_EDCA_ETSI_ACVI_LOCAL "0x0, 0x1, 0x0, 0x7, 0x0, 0xf, 0x7d, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e" #define STR_EDCA_ETSI_ACVI_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACVI_LOCAL) - 1) -#define CFG_EDCA_ETSI_ACVI_LOCAL CFG_STRING( \ +/* + * + * edca_etsi_acvi_local - Set EDCA parameters for ETSI local AC VI + * @Default: 0x0,0x1,0x0,0x7,0x0,0xf,0x7d,0x0,0x7,0x0,0xf,0xbc,0x0,0x7,0x0, + * 0xf,0x5e + * + * This ini is used to set EDCA parameters for ETSI AC VI that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_ETSI_ACVI_LOCAL CFG_INI_STRING( \ "edca_etsi_acvi_local", \ 0, \ STR_EDCA_ETSI_ACVI_LOCAL_LEN, \ @@ -216,7 +384,31 @@ #define STR_EDCA_ETSI_ACVO_LOCAL "0x0, 0x1, 0x0, 0x3, 0x0, 0x7, 0x3e, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f" #define STR_EDCA_ETSI_ACVO_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACVO_LOCAL) - 1) -#define CFG_EDCA_ETSI_ACVO_LOCAL CFG_STRING( \ +/* + * + * edca_etsi_acvo_local - Set EDCA parameters for ETSI local AC VO + * @Default: 0x0,0x1,0x0,0x3,0x0,0x7,0x3e,0x0,0x3,0x0,0x7,0x66,0x0,0x3,0x0, + * 0x7,0x2f + * + * This ini is used to set EDCA parameters for ETSI AC VO that are used locally + * on AP. The ini is with 17 bytes and comma is used as a separator for each + * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as + * CFG_EDCA_PROFILE_ACM_IDX. + * + * For cwmin and cwmax, they each occupy two bytes with the index defined + * above. The actual value are counted as number of bits with 1, e.g. + * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted + * to 2^value - 1. + * + * Related: None + * + * Supported Feature: AP + * + * Usage: External + * + * + */ +#define CFG_EDCA_ETSI_ACVO_LOCAL CFG_INI_STRING( \ "edca_etsi_acvo_local", \ 0, \ STR_EDCA_ETSI_ACVO_LOCAL_LEN, \