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
这个提交包含在:

提交者
Rahul Choudhary

父节点
0780c1e8b2
当前提交
f6d6eb0982
@@ -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
|
||||
|
@@ -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);
|
||||
|
在新工单中引用
屏蔽一个用户