From 4c0dab698057971545b0373db55d28d3cfdb7dab Mon Sep 17 00:00:00 2001 From: Jyoti Kumari Date: Wed, 16 Nov 2022 18:02:16 +0530 Subject: [PATCH] qcacld-3.0: Add edca_param_type ini for LL SAP Add edca_param_type ini to configure edca or pifs param for LL SAP. If edca_param_type is 0 then set edca param or if edca_param_type is 1 then set pifs param. Based on this ini, host configures either edca or pifs param and send it to firmware and earbud via OTA frames. Change-Id: I46a5efea4f516b145d04d8b8ad79c5d47ceb7f89 CRs-Fixed: 3344875 --- components/mlme/core/src/wlan_mlme_main.c | 3 ++ .../dispatcher/inc/cfg_mlme_edca_params.h | 33 ++++++++++++++++++- .../dispatcher/inc/wlan_mlme_public_struct.h | 3 ++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c index 633f947f77..5f36e25e01 100644 --- a/components/mlme/core/src/wlan_mlme_main.c +++ b/components/mlme/core/src/wlan_mlme_main.c @@ -847,6 +847,9 @@ mlme_init_qos_edca_params(struct wlan_objmgr_psoc *psoc, cfg_get(psoc, CFG_EDCA_BE_CWMAX); edca_params->edca_ac_be.be_aifs = cfg_get(psoc, CFG_EDCA_BE_AIFS); + + edca_params->edca_param_type = + cfg_get(psoc, CFG_EDCA_PIFS_PARAM_TYPE); } static void mlme_init_edca_params(struct wlan_objmgr_psoc *psoc, diff --git a/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h b/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h index 78a68da478..2b2b26e540 100644 --- a/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h +++ b/components/mlme/dispatcher/inc/cfg_mlme_edca_params.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. 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 @@ -823,6 +824,35 @@ CFG_VALUE_OR_DEFAULT, \ "default Aifs value for QCA_WLAN_AC_BE") +/* + * + * edca_param_type - Edca param type + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * This ini is used to configure edca or pifs param for low latency SAP. + * If edca_param_type is set to 0 then host configures edca param and + * send it to firmware via WMI cmd and earbud via OTA frame. If it set to + * to 1 then host configures pifs param and send it to firmware via WMI + * cmd and earbud via OTA frame. + * + * Related: None + * + * Supported Feature: STA + * + * Usage: Internal/External + * + * + */ +#define CFG_EDCA_PIFS_PARAM_TYPE CFG_INI_UINT( \ + "edca_param_type", \ + 0, \ + 1, \ + 0, \ + CFG_VALUE_OR_DEFAULT, \ + "Edca param type") + #define CFG_EDCA_PARAMS_ALL \ CFG(CFG_EDCA_ANI_ACBK_LOCAL) \ CFG(CFG_EDCA_ANI_ACBE_LOCAL) \ @@ -861,6 +891,7 @@ CFG(CFG_EDCA_BE_CWMIN) \ CFG(CFG_EDCA_BE_CWMAX) \ CFG(CFG_ENABLE_WMM_TXOP) \ - CFG(CFG_EDCA_BE_AIFS) + CFG(CFG_EDCA_BE_AIFS) \ + CFG(CFG_EDCA_PIFS_PARAM_TYPE) #endif /* __CFG_MLME_EDCA__PARAM_H */ diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h index a678a01d73..1260dbb5b1 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -343,6 +343,7 @@ enum mlme_ts_info_ack_policy { * @mlme_edca_ac_vi: value for edca_ac_vi * @mlme_edca_ac_bk: value for edca_ac_bk * @mlme_edca_ac_be: value for edca_ac_be + * @edca_param_type: Edca param type */ struct wlan_mlme_edca_params { struct mlme_cfg_str ani_acbk_l; @@ -378,6 +379,8 @@ struct wlan_mlme_edca_params { struct mlme_edca_ac_vi edca_ac_vi; struct mlme_edca_ac_bk edca_ac_bk; struct mlme_edca_ac_be edca_ac_be; + + uint8_t edca_param_type; }; #define WLAN_CFG_MFR_NAME_LEN (63)