qcacld-3.0: Add IPA CFG items and APIs

Add IPA related INI config to IPA component.

Change-Id: I5bea63b83ddac62504ef38019aa4034c4e18bca7
CRs-Fixed: 2320921
This commit is contained in:
jitiphil
2018-09-07 08:51:52 +05:30
committed by nshrivas
parent 869b9f73d9
commit 4c256a34d6
10 changed files with 282 additions and 175 deletions

View File

@@ -20,6 +20,7 @@
#include "cfg_converged.h"
#include "cfg_mlme.h"
#include "cfg_fwol.h"
#include "cfg_ipa.h"
#ifdef CONVERGED_P2P_ENABLE
#include "wlan_p2p_cfg.h"
@@ -49,6 +50,7 @@
CFG_FWOL_ALL \
CFG_HDD_ALL \
CFG_HDD_DP_ALL \
CFG_IPA \
CFG_MLME_ALL \
CFG_NAN_ALL \
CFG_P2P_ALL \

View File

@@ -114,14 +114,6 @@ QDF_STATUS ipa_config_mem_alloc(void);
*/
void ipa_config_mem_free(void);
/**
* ipa_config_update() - IPA component config update
* @config: IPA config
*
* Return: None
*/
void ipa_config_update(struct wlan_ipa_config *config);
/**
* ipa_config_is_enabled() - Is IPA config enabled?
*
@@ -422,5 +414,20 @@ void ipa_uc_ssr_cleanup(struct wlan_objmgr_pdev *pdev);
*/
void ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev);
/**
* ipa_component_config_update() - update ipa config from psoc
* @psoc: psoc obj
*
* Return: None
*/
void ipa_component_config_update(struct wlan_objmgr_psoc *psoc);
/**
* ipa_get_tx_buf_count() - get IPA config tx buffer count
*
* Return: IPA config tx buffer count
*/
uint32_t ipa_get_tx_buf_count(void);
#endif /* IPA_OFFLOAD */
#endif /* end of _WLAN_IPA_MAIN_H_ */

View File

@@ -23,6 +23,7 @@
#include "wlan_ipa_main.h"
#include "wlan_ipa_core.h"
#include "wlan_ipa_tgt_api.h"
#include "cfg_ucfg_api.h"
static struct wlan_ipa_config *g_ipa_config;
static bool g_ipa_hw_support;
@@ -69,16 +70,6 @@ bool ipa_is_hw_support(void)
return g_ipa_hw_support;
}
void ipa_config_update(struct wlan_ipa_config *config)
{
if (!g_ipa_config) {
ipa_err("IPA config already freed");
return;
}
qdf_mem_copy(g_ipa_config, config, sizeof(*g_ipa_config));
}
bool ipa_config_is_enabled(void)
{
return g_ipa_config ? wlan_ipa_is_enabled(g_ipa_config) : 0;
@@ -602,3 +593,36 @@ void ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev)
return wlan_ipa_fw_rejuvenate_send_msg(ipa_obj);
}
void ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
{
if (!g_ipa_config) {
ipa_err("g_ipa_config is NULL");
return;
}
g_ipa_config->ipa_config =
cfg_get(psoc, CFG_DP_IPA_OFFLOAD_CONFIG);
g_ipa_config->desc_size =
cfg_get(psoc, CFG_DP_IPA_DESC_SIZE);
g_ipa_config->txbuf_count =
qdf_rounddown_pow_of_two(cfg_get(psoc,
CFG_DP_IPA_UC_TX_BUF_COUNT));
g_ipa_config->ipa_bw_high =
cfg_get(psoc, CFG_DP_IPA_HIGH_BANDWIDTH_MBPS);
g_ipa_config->ipa_bw_medium =
cfg_get(psoc, CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS);
g_ipa_config->ipa_bw_low =
cfg_get(psoc, CFG_DP_IPA_LOW_BANDWIDTH_MBPS);
g_ipa_config->bus_bw_high =
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_HIGH_THRESHOLD);
g_ipa_config->bus_bw_medium =
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_MEDIUM_THRESHOLD);
g_ipa_config->bus_bw_low =
cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_LOW_THRESHOLD);
}
uint32_t ipa_get_tx_buf_count(void)
{
return g_ipa_config ? g_ipa_config->txbuf_count : 0;
}

View File

@@ -0,0 +1,190 @@
/*
* Copyright (c) 2012-2018 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
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/**
* DOC: This file contains definitions of Data Path configuration.
*/
#ifndef _CFG_IPA_H_
#define _CFG_IPA_H_
#include "cfg_define.h"
/* DP INI Declerations */
/*
* IPA Offload configuration - Each bit enables a feature
* bit0 - IPA Enable
* bit1 - IPA Pre filter enable
* bit2 - IPv6 enable
* bit3 - IPA Resource Manager (RM) enable
* bit4 - IPA Clock scaling enable
*/
/*
* <ini>
* gIPAConfig - IPA configuration
* @Min: 0
* @Max: 0xFFFFFFFF
* @Default: 0
*
* This ini specifies the IPA configuration
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_OFFLOAD_CONFIG \
CFG_INI_UINT("gIPAConfig", \
0, \
0xFFFFFFFF, \
0, \
CFG_VALUE_OR_DEFAULT, "IPA offload configuration")
/*
* <ini>
* GIPADescSize - IPA descriptor size
* @Min: 800
* @Max: 8000
* @Default: 800
*
* This ini specifies the IPA descriptor size
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_DESC_SIZE \
CFG_INI_UINT("GIPADescSize", \
800, \
8000, \
800, \
CFG_VALUE_OR_DEFAULT, "IPA DESC SIZE")
/*
* <ini>
* gIPAHighBandwidthMbps - IPA high bw threshold
* @Min: 200
* @Max: 1000
* @Default: 400
*
* This ini specifies the IPA high bw threshold
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_HIGH_BANDWIDTH_MBPS \
CFG_INI_UINT("gIPAHighBandwidthMbps", \
200, \
1000, \
400, \
CFG_VALUE_OR_DEFAULT, "IPA high bw threshold")
/*
* <ini>
* gIPAHighBandwidthMbps - IPA medium bw threshold
* @Min: 100
* @Max: 400
* @Default: 200
*
* This ini specifies the IPA medium bw threshold
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS \
CFG_INI_UINT("gIPAMediumBandwidthMbps", \
100, \
400, \
200, \
CFG_VALUE_OR_DEFAULT, "IPA medium bw threshold")
/*
* <ini>
* gIPAHighBandwidthMbps - IPA low bw threshold
* @Min: 0
* @Max: 100
* @Default: 100
*
* This ini specifies the IPA low bw threshold
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_LOW_BANDWIDTH_MBPS \
CFG_INI_UINT("gIPALowBandwidthMbps", \
0, \
100, \
100, \
CFG_VALUE_OR_DEFAULT, "IPA low bw threshold")
/*
* <ini>
* IpaUcTxBufCount - IPA tx buffer count
* @Min: 0
* @Max: 2048
* @Default: 512
*
* This ini specifies the IPA tx buffer count
*
* Related: N/A
*
* Supported Feature: IPA
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_IPA_UC_TX_BUF_COUNT \
CFG_INI_UINT("IpaUcTxBufCount", \
0, \
2048, \
512, \
CFG_VALUE_OR_DEFAULT, "IPA tx buffer count")
#define CFG_IPA \
CFG(CFG_DP_IPA_OFFLOAD_CONFIG) \
CFG(CFG_DP_IPA_DESC_SIZE) \
CFG(CFG_DP_IPA_HIGH_BANDWIDTH_MBPS) \
CFG(CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS) \
CFG(CFG_DP_IPA_LOW_BANDWIDTH_MBPS) \
CFG(CFG_DP_IPA_UC_TX_BUF_COUNT)
#endif /* _CFG_IPA_H_ */

View File

@@ -26,6 +26,7 @@
#include "wlan_ipa_obj_mgmt_api.h"
#include "wlan_objmgr_pdev_obj.h"
#include "qdf_types.h"
#include "wlan_ipa_main.h"
#ifdef IPA_OFFLOAD
@@ -57,13 +58,6 @@ bool ucfg_ipa_is_enabled(void);
*/
bool ucfg_ipa_uc_is_enabled(void);
/**
* ucfg_ipa_update_config() - Update IPA component config
*
* Return: None
*/
void ucfg_ipa_update_config(struct wlan_ipa_config *config);
/**
* ucfg_ipa_set_dp_handle() - register DP handle
* @psoc: psoc handle
@@ -332,6 +326,21 @@ void ucfg_ipa_uc_ssr_cleanup(struct wlan_objmgr_pdev *pdev);
*/
void ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev);
/**
* ucfg_ipa_component_config_update() - update IPA component config
* @psoc: pointer to psoc object
*
* Return: None
*/
void ucfg_ipa_component_config_update(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_get_ipa_tx_buf_count() - get IPA tx buffer count
*
* Return: IPA tx buffer count
*/
uint32_t ucfg_ipa_get_tx_buf_count(void);
#else
static inline bool ucfg_ipa_is_present(void)
@@ -517,5 +526,16 @@ static inline
void ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev)
{
}
static inline
void ucfg_ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
{
}
static inline
uint32_t ucfg_ipa_get_tx_buf_count(void)
{
return 0;
}
#endif /* IPA_OFFLOAD */
#endif /* _WLAN_IPA_UCFG_API_H_ */

View File

@@ -21,6 +21,8 @@
#include "wlan_ipa_ucfg_api.h"
#include "wlan_ipa_main.h"
#include "cfg_ucfg_api.h"
bool ucfg_ipa_is_present(void)
{
@@ -49,11 +51,6 @@ void ucfg_ipa_set_dp_handle(struct wlan_objmgr_psoc *psoc,
return ipa_set_dp_handle(psoc, dp_soc);
}
void ucfg_ipa_update_config(struct wlan_ipa_config *config)
{
ipa_config_update(config);
}
QDF_STATUS ucfg_ipa_set_perf_level(struct wlan_objmgr_pdev *pdev,
uint64_t tx_packets, uint64_t rx_packets)
{
@@ -196,3 +193,13 @@ void ucfg_ipa_fw_rejuvenate_send_msg(struct wlan_objmgr_pdev *pdev)
{
return ipa_fw_rejuvenate_send_msg(pdev);
}
void ucfg_ipa_component_config_update(struct wlan_objmgr_psoc *psoc)
{
ipa_component_config_update(psoc);
}
uint32_t ucfg_ipa_get_tx_buf_count(void)
{
return ipa_get_tx_buf_count();
}

View File

@@ -321,7 +321,7 @@ static void cds_cdp_cfg_attach(struct cds_config_info *cds_cfg)
cdp_cfg.is_full_reorder_offload = cds_cfg->reorder_offload;
cdp_cfg.is_uc_offload_enabled = cds_cfg->uc_offload_enabled;
cdp_cfg.uc_tx_buffer_count = cds_cfg->uc_txbuf_count;
cdp_cfg.uc_tx_buffer_count = ucfg_ipa_get_tx_buf_count();
cdp_cfg.uc_tx_buffer_size = cds_cfg->uc_txbuf_size;
cdp_cfg.uc_rx_indication_ring_count = cds_cfg->uc_rxind_ringcount;
cdp_cfg.uc_tx_partition_base = cds_cfg->uc_tx_partition_base;

View File

@@ -4617,42 +4617,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ENABLE_FASTPATH_DEFAULT (CFG_ENABLE_FASTPATH_MIN)
#endif /* WLAN_FEATURE_FASTPATH */
/*
* IPA Offload configuration - Each bit enables a feature
* bit0 - IPA Enable
* bit1 - IPA Pre filter enable
* bit2 - IPv6 enable
* bit3 - IPA Resource Manager (RM) enable
* bit4 - IPA Clock scaling enable
*/
#define CFG_IPA_OFFLOAD_CONFIG_NAME "gIPAConfig"
#define CFG_IPA_OFFLOAD_CONFIG_MIN (0)
#define CFG_IPA_OFFLOAD_CONFIG_MAX (0xFFFFFFFF)
#define CFG_IPA_OFFLOAD_CONFIG_DEFAULT (CFG_IPA_OFFLOAD_CONFIG_MIN)
/*
* IPA DESC SIZE
*/
#define CFG_IPA_DESC_SIZE_NAME "gIPADescSize"
#define CFG_IPA_DESC_SIZE_MIN (800)
#define CFG_IPA_DESC_SIZE_MAX (8000)
#define CFG_IPA_DESC_SIZE_DEFAULT (800)
#define CFG_IPA_HIGH_BANDWIDTH_MBPS "gIPAHighBandwidthMbps"
#define CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN (200)
#define CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX (1000)
#define CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT (400)
#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS "gIPAMediumBandwidthMbps"
#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN (100)
#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX (400)
#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT (200)
#define CFG_IPA_LOW_BANDWIDTH_MBPS "gIPALowBandwidthMbps"
#define CFG_IPA_LOW_BANDWIDTH_MBPS_MIN (0)
#define CFG_IPA_LOW_BANDWIDTH_MBPS_MAX (100)
#define CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT (100)
/* SAR Thermal limit values for 2g and 5g */
#define CFG_SET_TXPOWER_LIMIT2G_NAME "TxPower2g"
@@ -4938,12 +4902,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_REORDER_OFFLOAD_SUPPORT_MAX (1)
#define CFG_REORDER_OFFLOAD_SUPPORT_DEFAULT (1)
/* IpaUcTxBufCount should be power of 2 */
#define CFG_IPA_UC_TX_BUF_COUNT_NAME "IpaUcTxBufCount"
#define CFG_IPA_UC_TX_BUF_COUNT_MIN (0)
#define CFG_IPA_UC_TX_BUF_COUNT_MAX (2048)
#define CFG_IPA_UC_TX_BUF_COUNT_DEFAULT (512)
#define CFG_IPA_UC_TX_BUF_SIZE_NAME "IpaUcTxBufSize"
#define CFG_IPA_UC_TX_BUF_SIZE_MIN (0)
#define CFG_IPA_UC_TX_BUF_SIZE_MAX (4096)
@@ -8302,12 +8260,7 @@ struct hdd_config {
bool enable_ip_tcp_udp_checksum_offload;
uint8_t fVhtAmpduLenExponent;
uint32_t vhtMpduLen;
uint32_t IpaConfig;
bool IpaClkScalingEnable;
uint32_t IpaDescSize;
uint32_t IpaHighBandwidthMbps;
uint32_t IpaMediumBandwidthMbps;
uint32_t IpaLowBandwidthMbps;
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
uint32_t WlanMccToSccSwitchMode;
#endif
@@ -8338,7 +8291,6 @@ struct hdd_config {
int32_t dfsRadarPriMultiplier;
uint8_t reorderOffloadSupport;
uint32_t IpaUcTxBufCount;
uint32_t IpaUcTxBufSize;
uint32_t IpaUcRxIndRingCount;
uint32_t IpaUcTxPartitionBase;

View File

@@ -1863,43 +1863,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE,
CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE),
#ifdef IPA_OFFLOAD
REG_VARIABLE(CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger,
struct hdd_config, IpaConfig,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_IPA_OFFLOAD_CONFIG_DEFAULT,
CFG_IPA_OFFLOAD_CONFIG_MIN,
CFG_IPA_OFFLOAD_CONFIG_MAX),
REG_VARIABLE(CFG_IPA_DESC_SIZE_NAME, WLAN_PARAM_Integer,
struct hdd_config, IpaDescSize,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_IPA_DESC_SIZE_DEFAULT,
CFG_IPA_DESC_SIZE_MIN,
CFG_IPA_DESC_SIZE_MAX),
REG_VARIABLE(CFG_IPA_HIGH_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
struct hdd_config, IpaHighBandwidthMbps,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT,
CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN,
CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX),
REG_VARIABLE(CFG_IPA_MEDIUM_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
struct hdd_config, IpaMediumBandwidthMbps,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT,
CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN,
CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX),
REG_VARIABLE(CFG_IPA_LOW_BANDWIDTH_MBPS, WLAN_PARAM_Integer,
struct hdd_config, IpaLowBandwidthMbps,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT,
CFG_IPA_LOW_BANDWIDTH_MBPS_MIN,
CFG_IPA_LOW_BANDWIDTH_MBPS_MAX),
#endif
REG_VARIABLE(CFG_COALESING_IN_IBSS_NAME, WLAN_PARAM_Integer,
struct hdd_config, isCoalesingInIBSSAllowed,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2086,13 +2049,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_REORDER_OFFLOAD_SUPPORT_MIN,
CFG_REORDER_OFFLOAD_SUPPORT_MAX),
REG_VARIABLE(CFG_IPA_UC_TX_BUF_COUNT_NAME, WLAN_PARAM_Integer,
struct hdd_config, IpaUcTxBufCount,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
CFG_IPA_UC_TX_BUF_COUNT_DEFAULT,
CFG_IPA_UC_TX_BUF_COUNT_MIN,
CFG_IPA_UC_TX_BUF_COUNT_MAX),
REG_VARIABLE(CFG_IPA_UC_TX_BUF_SIZE_NAME, WLAN_PARAM_Integer,
struct hdd_config, IpaUcTxBufSize,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,

View File

@@ -2676,36 +2676,6 @@ int hdd_assemble_rate_code(uint8_t preamble, uint8_t nss, uint8_t rate)
return set_value;
}
#ifdef IPA_OFFLOAD
/**
* hdd_update_ipa_component_config() - update ipa config
* @hdd_ctx: Pointer to hdd context
*
* Return: none
*/
static void hdd_update_ipa_component_config(struct hdd_context *hdd_ctx)
{
struct hdd_config *cfg = hdd_ctx->config;
struct wlan_ipa_config ipa_cfg;
ipa_cfg.ipa_config = cfg->IpaConfig;
ipa_cfg.desc_size = cfg->IpaDescSize;
ipa_cfg.txbuf_count = cfg->IpaUcTxBufCount;
ipa_cfg.bus_bw_high = cfg->bus_bw_high_threshold;
ipa_cfg.bus_bw_medium = cfg->bus_bw_medium_threshold;
ipa_cfg.bus_bw_low = cfg->bus_bw_low_threshold;
ipa_cfg.ipa_bw_high = cfg->IpaHighBandwidthMbps;
ipa_cfg.ipa_bw_medium = cfg->IpaMediumBandwidthMbps;
ipa_cfg.ipa_bw_low = cfg->IpaLowBandwidthMbps;
ucfg_ipa_update_config(&ipa_cfg);
}
#else
static void hdd_update_ipa_component_config(struct hdd_context *hdd_ctx)
{
}
#endif
#ifdef FEATURE_WLAN_WAPI
/**
* hdd_wapi_security_sta_exist() - return wapi security sta exist or not
@@ -2936,7 +2906,7 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx, bool reinit)
goto hif_close;
}
hdd_update_ipa_component_config(hdd_ctx);
ucfg_ipa_component_config_update(hdd_ctx->psoc);
hdd_update_cds_ac_specs_params(hdd_ctx);
@@ -8932,12 +8902,6 @@ static void hdd_override_ini_config(struct hdd_context *hdd_ctx)
hdd_debug("Module enable_11d set to %d", enable_11d);
}
if (!ucfg_ipa_is_present()) {
hdd_ctx->config->IpaConfig = 0;
hdd_debug("IpaConfig override to %d",
hdd_ctx->config->IpaConfig);
}
if (hdd_ctx->config->action_oui_enable && !ucfg_action_oui_enabled()) {
hdd_ctx->config->action_oui_enable = 0;
hdd_err("Ignore ini: %s, since no action_oui component",
@@ -9715,21 +9679,6 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
/* IPA micro controller data path offload resource config item */
cds_cfg->uc_offload_enabled = ucfg_ipa_uc_is_enabled();
if (!is_power_of_2(hdd_ctx->config->IpaUcTxBufCount)) {
/* IpaUcTxBufCount should be power of 2 */
hdd_debug("Round down IpaUcTxBufCount %d to nearest power of 2",
hdd_ctx->config->IpaUcTxBufCount);
hdd_ctx->config->IpaUcTxBufCount =
rounddown_pow_of_two(
hdd_ctx->config->IpaUcTxBufCount);
if (!hdd_ctx->config->IpaUcTxBufCount) {
hdd_err("Failed to round down IpaUcTxBufCount");
goto exit;
}
hdd_debug("IpaUcTxBufCount rounded down to %d",
hdd_ctx->config->IpaUcTxBufCount);
}
cds_cfg->uc_txbuf_count = hdd_ctx->config->IpaUcTxBufCount;
cds_cfg->uc_txbuf_size = hdd_ctx->config->IpaUcTxBufSize;
if (!is_power_of_2(hdd_ctx->config->IpaUcRxIndRingCount)) {
/* IpaUcRxIndRingCount should be power of 2 */