qcacld-3.0: INI config to enable/disable data path CE IRQ affine

Add INI config enable/disable data path CE IRQ affinity.

Change-Id: I8cfe9259379209ebda874ca0340b5c5069d1e234
CRs-Fixed: 3590603
This commit is contained in:
Venkateswara Naralasetty
2023-08-14 14:46:11 +05:30
committed by Rahul Choudhary
parent 0780c1e8b2
commit f6d6eb0982
2 changed files with 52 additions and 1 deletions

View File

@@ -1291,6 +1291,34 @@ enum host_log_level {
#define CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL
#endif
#ifdef FEATURE_ENABLE_CE_DP_IRQ_AFFINE
/*
* <ini>
* Enable_ce_dp_irq_affine - Enable/disable affinity on datapath CE IRQs
*
* @Min: 0
* @Max: 1
* Default: 0
*
* This ini param is used to enable/disable the affinity on datapath
* Copy Engine IRQs.
*
* Supported Feature: STA/SAP
*
* Usage: External
*
* </ini>
*/
#define CFG_ENABLE_CE_DP_IRQ_AFFINE CFG_INI_BOOL(\
"Enable_ce_dp_irq_affine", \
0, \
"Enable/disable irq affinity on datapath CEs")
#define CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL \
CFG(CFG_ENABLE_CE_DP_IRQ_AFFINE)
#else
#define CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL
#endif
#define CFG_HDD_ALL \
CFG_DYNAMIC_MAC_ADDR_UPDATE_SUPPORTED_ALL \
CFG_ENABLE_PACKET_LOG_ALL \
@@ -1328,5 +1356,6 @@ enum host_log_level {
CFG(CFG_ENABLE_HOST_MODULE_LOG_LEVEL) \
SAR_SAFETY_FEATURE_ALL \
CFG_GET_WIFI_FEATURES_ALL \
CFG_CPU_CXPC_THRESHOLD_ALL
CFG_CPU_CXPC_THRESHOLD_ALL \
CFG_ENABLE_CE_DP_IRQ_AFFINE_ALL
#endif

View File

@@ -20246,6 +20246,27 @@ static void hdd_populate_runtime_cfg(struct hdd_context *hdd_ctx,
}
#endif
#ifdef FEATURE_ENABLE_CE_DP_IRQ_AFFINE
/**
* hdd_populate_ce_dp_irq_affine_cfg() - populate ce irq affine configuration
* @hdd_ctx: hdd context
* @cfg: pointer to the configuration memory being populated
*
* Return: void
*/
static void hdd_populate_ce_dp_irq_affine_cfg(struct hdd_context *hdd_ctx,
struct hif_config_info *cfg)
{
cfg->enable_ce_dp_irq_affine = cfg_get(hdd_ctx->psoc,
CFG_ENABLE_CE_DP_IRQ_AFFINE);
}
#else
static void hdd_populate_ce_dp_irq_affine_cfg(struct hdd_context *hdd_ctx,
struct hif_config_info *cfg)
{
}
#endif
/**
* hdd_update_hif_config - API to update HIF configuration parameters
* @hdd_ctx: HDD Context
@@ -20276,6 +20297,7 @@ static void hdd_update_hif_config(struct hdd_context *hdd_ctx)
hdd_populate_runtime_cfg(hdd_ctx, &cfg);
cfg.rx_softirq_max_yield_duration_ns =
ucfg_dp_get_rx_softirq_yield_duration(hdd_ctx->psoc);
hdd_populate_ce_dp_irq_affine_cfg(hdd_ctx, &cfg);
hif_init_ini_config(scn, &cfg);
hif_set_enable_rpm(scn);